2012-12-07 34 views
0

可以u人幫我解決這個問題了..未知列JOIN許多表

錯誤說:‘在「未知列’d.idspesialis的條款」

SELECT a.*, b.*, c.*, e.*,d.*, f.*,g.* 
FROM ckehamilan a 
    INNER JOIN pasien b 
      ON a.noRM=b.noRM 
    INNER JOIN (select idPegawai , NamaPegawai as NamaDokter from tpegawai) d 
      ON a.idPegawai=d.idPegawai 
    LEFT JOIN spesialis e 
      ON e.idspesialis=d.idspesialis 
    INNER JOIN (select idPegawai , NamaPegawai as NamaParamedis from tpegawai) f 
      ON a.idparamedis=f.idPegawai 
    LEFT JOIN imunisasi g 
      ON a.idimunisasi=g.idimunisasi 
    INNER JOIN ruang c 
      ON a.idruang=c.idruang 

回答

1

你的子查詢沒有按「T有列idspesialis

試試這個,

(
    SELECT idPegawai, NamaPegawai AS NamaDokter, idspesialis 
    FROM tpegawai 
) d 

完整的查詢應該如下,

SELECT a.* 
    , b.* 
    , c.* 
    , e.* 
    , d.* 
    , f.* 
    , g.* 
FROM ckehamilan a 
    INNER JOIN pasien b 
     ON a.noRM = b.noRM 
    INNER JOIN 
     (
      SELECT idPegawai, NamaPegawai AS NamaDokter, idspesialis 
      FROM tpegawai 
     ) d 
     ON a.idPegawai = d.idPegawai 
    LEFT JOIN spesialis e 
     ON e.idspesialis = d.idspesialis 
    INNER JOIN 
     (
      SELECT idPegawai , NamaPegawai AS NamaParamedis 
      FROM tpegawai 
     ) f 
     ON a.idparamedis = f.idPegawai 
    LEFT JOIN imunisasi g 
     ON a.idimunisasi = g.idimunisasi 
    INNER JOIN ruang c 
     ON a.idruang = c.idruang 
+0

偉大的..!謝謝 !你讓我的一天 – user1851384

+0

不客氣的朋友':D' –

0

與別名d你的表,你沒有一列名爲d.idspesialis,因此它是引發錯誤。

d表如下 -

(select idPegawai , NamaPegawai as NamaDokter from tpegawai) d 

,你嘗試添加與e

e.idspesialis=d.idspesialis 
0

您必須添加內蒙古該列中選擇查詢的父查詢使用加盟。檢查下面的查詢:

INNER JOIN (SELECT idPegawai , NamaPegawai AS NamaDokter, idspesialis FROM tpegawai) d ON a.idPegawai=d.idPegawai 

完整的查詢:

SELECT a.*, b.*, c.*, e.*,d.*, f.*,g.* 
FROM ckehamilan a 
INNER JOIN pasien b ON a.noRM=b.noRM 
INNER JOIN (SELECT idPegawai , NamaPegawai AS NamaDokter, idspesialis FROM tpegawai) d ON a.idPegawai=d.idPegawai 
LEFT JOIN spesialis e ON e.idspesialis=d.idspesialis 
INNER JOIN (SELECT idPegawai , NamaPegawai AS NamaParamedis FROM tpegawai) f ON a.idparamedis=f.idPegawai 
LEFT JOIN imunisasi g ON a.idimunisasi=g.idimunisasi 
INNER JOIN ruang c ON a.idruang=c.idruang 
0

試試這個::

select a.*, b.*, c.*, e.*,d.idPegawai, d.NamaPegawai as NamaDokter, g.*, f.* 
    from ckehamilan a 
    INNER JOIN pasien b ON a.noRM=b.noRM 
    INNER JOIN tpegawai d ON a.idPegawai=d.idPegawai 
    LEFT JOIN spesialis e ON e.idspesialis=d.idspesialis 
    LEFT JOIN imunisasi g ON a.idimunisasi=g.idimunisasi 
INNER JOIN tpegawai f ON a.idparamedis = f.idPegawai 
    INNER JOIN ruang c ON a.idruang=c.idruang