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 代码错误在哪里?
基础教程推荐
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01