Saya memiliki Produk tabel dengan 240.000 baris. Saya ingin memilih dari data tabel ini di mana idproduct = idproductcomponent

Output membuat tabel dengan 3 kolom A12345678 35655455952625 9638520963258960, jadi di kolom yang berbeda. Selalu idproductcomponent dari idproducttype 1 adalah 0, dan idproductcomponent dari idproducttype 2,3 sama dengan idproduct dari idproducttype 1.

Pelase, dapatkah Anda berbagi dengan saya ide untuk pilihan ini?

enter image description here

0
site 12 Mei 2021, 01:13

1 menjawab

Jawaban Terbaik

Dengan asumsi database Anda adalah SQL Server (Anda tidak mengatakan yang mana) kuerinya akan terlihat seperti:

select
  a.name,
  b.name,
  c.name
from t a
left join t b on b.idproductcomponent = a.idproduct and b.idproducttype = 2
left join t c on c.idproductcomponent = a.idproduct and c.idproducttype = 3
where a.idproducttype = 1
  and a.idproduct = 11163 -- parameter you are searching for

Untuk meningkatkan kinerja kueri ini, Anda dapat menambahkan indeks:

create index ix1 on t (idproductcomponent);
0
The Impaler 11 Mei 2021, 22:26