我有个问题:
表A
姓名
---------------------
1 |姓名-A
2 |姓名-B
3 |姓名-C
4 |姓名-D
5 |姓名-E
6 |特殊型
表B
id|b | id|a |条件|子类型
-------------------------------------------------
1 | 2 | 1 | 1
2 | 1 | 0 | 1
3 | 1 | 1 | 2
4 | 2 | 0 | 1
5 | 4 | 0 | 1
6 | 5 | 1 | 1
7 | 2 | 1 | 3
条款:
表A:“特殊类型”除外
表A:包括表B中不存在的行
表B:排除条件为0的所有项
结果表:
id|r | id|a | id|b | name |条件
-----------------------------------------------
1 | 1 | 3 |姓名-A | 1
2 | 2 | 1 |姓名-B | 1
3 | 5 | 6 |姓名-E | 1
4 | 2 | 7 |姓名-B | 1
5 | 3 |空|名称-C |空
表A.子类型仅为aux。显示id_a可以在条件为1的情况下存储多次
我试过的:
从表a中选择x.id_a,x.name,z.id_b,z.id_a,z.condition
x.id_a=z.id_a上的左联接表z
但这给了我条件为0的物品,我不想要
所以我试着:
从表a中选择x.id_a,x.name,z.id_b,z.id_a,z.condition
x.id_a=z.id_a上的左联接表z,其中z.condition=1
但是这个想法排除了表A中表B中没有的项目,我想要这些项目。
它可以是MySQL内部的don,还是需要脚本语言来解决?
有人在想吗?

最佳答案

好 啊
我一定有个临时工。停电了。
这里是:
从表a中选择x.id_a,x.name,z.id_b,z.id_a,z.condition
x.id_a=z上的左联接表z.id_a和z.condition=1
以下条件
z.条件=1
是键,当放在连接条件中时不在where子句中

关于mysql - MySQL:表A的一部分加入表B的一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4423753/

10-11 03:08