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”不明确。
我找不到问题。
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”不明确。
我找不到问题。
列noMyKid
存在于两个表中。您应该告诉服务器您要过滤的列在哪个表上,例如
WHERE a.noMyKid = 130902100437
或者
WHERE b.noMyKid = 130902100437
无论您使用什么,都无所谓,因为您使用的是INNER JOIN
.
我认为您在两个表中都有“noMyKid”列。
像这样前缀:a.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
问题是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