【发布时间】:2013-04-09 10:04:03
【问题描述】:
我需要一个提示来解决这个 SQL(自连接)问题:
一个表,包含value 和category 列
id || value || category || foo
------------------------------------
1 || 1 || a || 1
2 || 2 || a || 4
3 || 3 || a || 2
4 || 0 || b || 2
5 || 1 || b || 1
6 || 2 || b || 4
7 || 3 || b || 2
8 || 4 || b || 2
9 || 5 || b || 1
10 || 5 || b || 4
11 || 6 || b || 2
12 || 99 || z || 2
我想比较b 类别中的所有值和a 类别中的所有值,并获取b 中而不是a 或其id 中的所有值,所以:
(0,1,2,3,4,5,5,6) “比较” (1,2,3) => (0,4,5,5,6)
【问题讨论】:
-
您使用的是哪个 DBMS?后格雷斯?甲骨文?
-
我正在寻找“ansi sql”解决方案,它必须与 mysql、sqlite 和 postgres 一起使用。
-
“ANSI”解决方案通常不适用于 MySQL,因为它的 SQL 实现已经过时(
EXCEPT在阅读您的问题描述后立即浮现在脑海中)。