h1

Subquery Problem

15 October, 2009

Saya punya sub query seperti di bawah :
SELECT ID_GD,
NO_GARDU, (SELECT DISTINCT TGD.PASANG_TRAFO
FROM ATRAFO_GD TGD
WHERE TGD.ID_GD=GD.ID_GD) PASANG_TRAFO,
JML_TIANG, ALAMAT, KAPASITAS_MAX FROM AGARDU_DISTRIBUSI GD Ketika saya coba untuk insert resultset hasil query ke atas dengan script ini:
INSERT INTO DW_GD_ALL_UNIT (ID_GD, NO_GARDU, PASANG_TRAFO, JML_TIANG, ALAMAT, KAPASITAS_MAX) SELECT ID_GD,
NO_GARDU, (SELECT DISTINCT TGD.PASANG_TRAFO
FROM ATRAFO_GD TGD
WHERE TGD.ID_GD=GD.ID_GD) PASANG_TRAFO,
JML_TIANG, ALAMAT, KAPASITAS_MAX FROM AGARDU_DISTRIBUSI GD
It's not work. Subquery returns more than one row. Solusinya disarankan untuk tidak menggunakan DISTINCT dalam subquery.
Ganti dengan fungsi MAX().

SELECT ID_GD,
NO_GARDU, (SELECT MAX(TGD.PASANG_TRAFO)
FROM ATRAFO_GD TGD
WHERE TGD.ID_GD=GD.ID_GD) PASANG_TRAFO,
JML_TIANG, ALAMAT, KAPASITAS_MAX FROM AGARDU_DISTRIBUSI GD

Leave a Comment