#1052 - where子句中的'noMyKid'列是不明确的

时间:2014-04-14 03:25:51

标签: sql database

SELECT *, DATEDIFF(CURDATE(),tarikhmohon) AS hari
FROM mohon a 
INNER JOIN tblstatus_tak_lengkap b on a.noMyKid=b.nomykid 
WHERE noMyKid=130902100437

我试过那个sql但我收到了一个错误。 #1052 - where子句中的'noMyKid'列是不明确的。我找不到问题。请帮我修理一下。

4 个答案:

答案 0 :(得分:1)

noMyKid存在于两个表中。您应该告诉服务器您要过滤的列在哪个表上,例如

WHERE a.noMyKid = 130902100437

WHERE b.noMyKid = 130902100437

无论您使用什么,因为您使用的是INNER JOIN,所以无关紧要。

答案 1 :(得分:0)

我认为两个表中都有“noMyKid”列。

像这样的前缀:a.noMyKid

答案 2 :(得分:0)

尝试更改为

SELECT *, DATEDIFF(CURDATE(),tarikhmohon) AS hari
FROM mohon a 
INNER JOIN tblstatus_tak_lengkap b on a.noMyKid=b.nomykid 
WHERE a.noMyKid=130902100437

答案 3 :(得分:0)

问题是mohontblstatus_tak_lengkap都有noMyKid列(至少在安装时使用不区分大小写的列名称)。在WHERE子句中,您需要指定要从中读取noMyKid的表。

当你加入这个价值时,你选择哪个表并不重要,所以这样的事情可以正常工作:

SELECT *, DATEDIFF(CURDATE(),tarikhmohon) AS hari
FROM mohon a 
INNER JOIN tblstatus_tak_lengkap b on a.noMyKid=b.nomykid 
WHERE a.noMyKid=130902100437