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'列是不明确的。我找不到问题。请帮我修理一下。
答案 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)
问题是mohon
和tblstatus_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