我在这里问了类似的问题......
但我无法得到足够的答案来解决我的问题,所以我不得不再次提问......
我有下表......
**
任何想要播放数据的人请在http://sqlfiddle.com/#!9/a0807进行测试
**
Table1
IDA colB colC
111 a w
222 b w
333 c s
444 b g
Table2
IDB colB colC
11 w f
12 w r
13 s g
Table3
IDA IDB
111 11
222 12
333 13
444 14
Run Code Online (Sandbox Code Playgroud)
下面的代码将从table1复制或插入到表中没有问题,但是有错误的table2 IDB(因为table2 IDB值应该从内部连接到table3)
INSERT INTO table2 SELECT * FROM table1 WHERE IDA = 111
Run Code Online (Sandbox Code Playgroud)
但是将所有从table1复制到table2,这是错误的......
所以,我所做的是......以下的内部联系......但是没有工作......
INSERT INTO table2
(SELECT * FROM table1 b
LEFT JOIN table3 c ON c.IDA = …Run Code Online (Sandbox Code Playgroud) 我有下表...
ID awaiting approve decline
100 1 0 0
100 0 0 1
102 1 0 0
103 0 1 0
104 0 1 0
104 0 1 0
106 1 0 0
107 0 1 0
107 1 0 0
107 1 0 0
Run Code Online (Sandbox Code Playgroud)
从上表我想得到的是,如果ID的数量多于一次列出,并且其中一个ID或两个或所有ID等待= 1?计算这些ID符合上述条件.
我需要的另一个查询是,其中,如果ID仅列出并且只有一次且等待= 1;
请帮忙....