[英]Unknown column in JOIN many tables
can u guys help me fix this up.. 你们能帮我解决这个问题吗?
the error said ' Unknown column 'd.idspesialis' in 'on clause' ' 错误显示为“ on子句中的未知列'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
your subquery doesn't have column idspesialis
您的子查询没有列idspesialis
try this, 尝试这个,
(
SELECT idPegawai, NamaPegawai AS NamaDokter, idspesialis
FROM tpegawai
) d
your full query should look like below, 您的完整查询应如下所示,
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
In your table with alias d
, you do not have a column named d.idspesialis
and hence it is throwing the error. 在别名为d
的表中,没有名为d.idspesialis
的列,因此它d.idspesialis
了错误。
Your d
table is as below - 您的d
表如下-
( select idPegawai , NamaPegawai as NamaDokter from tpegawai ) d
and you are trying to add join with e
as 并且您正在尝试使用添加e
为
e.idspesialis=d.idspesialis
You have to add that column in Inner select query to use in parent query. 您必须在内部选择查询中添加该列以在父查询中使用。 Check below query: 检查以下查询:
INNER JOIN ( SELECT idPegawai , NamaPegawai AS NamaDokter, idspesialis FROM tpegawai ) d ON a.idPegawai=d.idPegawai
Full Query: 完整查询:
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
Try this :: 尝试这个 ::
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.