2
|
chiborg Alessandro Minoccheri · 技术社区 · 15 年前 |
![]() |
1
1
考虑到数据,没有捷径可走。实际上这是唯一
固体
做这件事的方法。您可能需要注意的一件事是在可为空的列中正确比较空值。查询
此外,查询将不包括
如果需要经常执行此操作,则可以引入某种附加数据列,当行中的任何内容发生更改时,这些列将始终更新。这可以简单到
|
![]() |
2
1
有一种标准的sql方法可以做到这一点(减选择),但是mysql(以及许多其他dbms)不支持它。 如果失败,您可以尝试:
根据mysql文档,一个自然连接将连接所有同名列上的两个表。通过过滤掉b主键列返回空值的a记录,您实际上只得到没有匹配b表记录的a记录。 仅供参考:这是基于mysql文档,而不是个人经验。 |
![]() |
3
0
我能想到的最好的方法是创建一个临时表,它也具有相同的结构,但是在您要检查的30个字段中有一个唯一的限制。然后将表A中的所有行插入临时表,然后将表B中的所有行插入临时表…当b中的行进入时,(使用insert ignore),至少在1列上不唯一的行将被删除。结果将是,您只有在临时表中至少有一列扩散器的行。然后可以从中选择所有内容。 |
|
Johnny T · 基于当前值的SQL合并表[重复] 3 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 4 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 4 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 4 月前 |
![]() |
Sax · 规范化Google表格(第一步) 4 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 4 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 4 月前 |