'SELECT * FROM t1
JOIN t2 ON t1.wid = t2.wid
WHERE t2.wid IS NULL
LIMIT ' . $number;
这段代码什么也没给我,您能帮我为什么不收回价值吗?
最佳答案
JOIN t2 ON t1.wid = t1.wid
你是那个意思吗还是真的是t1.wid = t2.wid?在这种情况下,您需要左联接。
编辑
好的,所以您已修复它。除非t2中有行的wid与t1中具有相同wid的行匹配的wid,否则不会显示任何结果。
如果需要结果,请将其更改为:
'SELECT * FROM t1
LEFT JOIN t2 ON t1.wid = t2.wid
WHERE t2.wid IS NULL
LIMIT ' . $number;
下一步编辑
如果目标是使用t1中尚未包含的t1中的值更新t2,则可能是这样的:
'INSERT INTO t2
SELECT t1.* FROM t1
LEFT JOIN t2
ON t1.wid = t2.wid
WHERE t2.wid IS NULL
LIMIT ' . $number;
缺少的步骤仅仅是返回t1的结果,然后将它们插入t2。
关于mysql - 我的sql代码哪里出了问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29384809/