where is the fault in my sql code?(我的 sql 代码错误在哪里?)
问题描述
'SELECT * FROM t1
JOIN t2 ON t1.wid = t2.wid
WHERE t2.wid IS NULL
LIMIT ' . $number;
这段代码没有任何返回给我你能帮我为什么我不取回值吗?
This code nothing returns to me could you help why i do not take values back??
推荐答案
JOIN t2 ON t1.wid = t1.wid
你是那个意思吗?或者你的意思是t1.wid = t2.wid?在这种情况下,您需要左连接.
did you mean that? or do you really mean t1.wid = t2.wid? in which case you'd want a left join.
编辑
好的,你修好了.除非 t2 中的行的 wid 与 t1 中具有相同 wid 的行匹配,否则不会显示任何结果.
Okay, so you fixed it. That won't show up any results unless there are rows in t2 that have a wid that matches a row in t1 with the same wid.
如果你想要结果,把它改成这样:
If you want results, change it to this:
'SELECT * FROM t1
LEFT JOIN t2 ON t1.wid = t2.wid
WHERE t2.wid IS NULL
LIMIT ' . $number;
下一次编辑
如果目标是使用 t1 中尚未在 t2 中的值来更新 t2,那么它将是这样的:
If the goal is to update t2 with values from t1 that aren't ALREADY in t2, then it would be something like this:
'INSERT INTO t2
SELECT t1.* FROM t1
LEFT JOIN t2
ON t1.wid = t2.wid
WHERE t2.wid IS NULL
LIMIT ' . $number;
缺少的步骤只是只返回 t1 的结果,然后将它们插入到 t2 中.
The missing step was simply to return only t1's results, and then insert them into t2.
这篇关于我的 sql 代码错误在哪里?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:我的 sql 代码错误在哪里?
基础教程推荐
- SQL 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
- 在 SQL 中连接多个表 2021-01-01
- 无法解决整理冲突 2021-01-01
- 是否可以执行按位分组功能? 2021-01-01
