【发布时间】:2015-06-03 21:23:25
【问题描述】:
我需要从只使用一个表 PK(ID, CAR) 的内部连接中获取一些结果。
ID CAR VAL
1 34 A
1 4430 B
1 50 C
2 34 D
2 55 M
这就是我所拥有的:
SELECT A.*, B.CAR, B.VAL
FROM PRUEBA2 A INNER JOIN PRUEBA2 B ON
A.ID = B.ID
WHERE
A.VAL IN ('A','B') AND
A.CAR = 34 AND
B.CAR = 4430
但我明白了:
ID CAR VAL CAR VAL
1 34 A 4430 B
我需要控制两个不同的 CAR 值。如果 A.CAR = 34 和 A.VAL IN ('A','B'),那么如果这是真的,我需要检查 CAR 4430 的 VAL 是什么
我试图将其作为最终结果
A.ID A.CAR A.VAL B.CAR B.VAL
1 34 A 4430 B
2 34 D NP NP
NP = 不存在
我怎样才能做到这一点?我的意思是,结果只得到这两个值的数据。
【问题讨论】:
-
然后删除
b.car=4430。你不能同时拥有它:“告诉我 B 只有 4430,但也告诉我所有其他 B” -
但在这种情况下,我将拥有所有其他 CAR 值,但我只需要这 2 个
-
所以
where b.car in (4430, 'NP') -
OK,NP 用于表示 CAR 4430 及其 VAL 不存在,以了解这种情况。这是我在最终结果中以某种方式写入的值。
-
与论坛网站不同,我们不使用“谢谢”、“感谢任何帮助”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?。顺便说一句,这是“提前致谢”,而不是“在先致谢”。
标签: sql inner-join exists