我有两个MySQL表。我试图做的是导出信息,其中值1小于值2,而ID_1没有值1和值2相等。MySQL查询没有返回行
注:
- 字段值1和2都只是整数。
- 每个不同ID_A具有相同VALUE_2
- 如果有两个Value_1s是比VALUE_2少一个,放眼VALUE_3然后选择一个较高
- 我之所以有两个表在这里是因为我要去从这两个表输出信息
- 我们可以为此编写一个脚本,但我需要在单个命令中为奖励点(我的教练声明可能)执行此操作...我甚至没有开始脚本这,因为我真的不知道该怎么做...
tableA
看起来是这样的:
ID_1 ID_2
A A
A B
B A
B B
C A
C B
C C
tableB
看起来是这样的:
ID_1 ID_2 Value_1 Value_2 Value_3
A A 2 3 NULL
A B 3 3 NULL
B A 4 5 NULL
B B 7 5 NULL
C A 7 8 98
C B 3 8 NULL
C C 7 8 56
查询应返回此:
ID_1 ID_2
B A
C A
这里是我迄今为止...它不断地返回没有命中,这让我感到困惑。我相信这是第一个WHERE语句,我需要修复
SELECT CONCAT(...)
INTO OUTFILE '/tmp/outfile.tab'
FIELDS TERMINATED BY '\t'
ESCAPED BY ''
FROM tableA
INNER
JOIN tableB
ON tableA.ID_1 = tableB.ID_1
AND tableA.ID_2 = tableB.ID_2
WHERE tableB.Value_1 - 1 = tableB.Value_2
AND tableA.ID_1 !=
(SELECT DISTINCT
ID_1
FROM tableB
WHERE ID_1 = tableA.ID_1
AND Value_1 = Value_2
)
;
最后一个音符后的AND子句:我们发行过腻子所有的命令,我们可以在其中访问MySQL
什么是表A和tableB的?如果他们有两个id值,是否意味着你只能使用tableB来完成你的任务? – melihcelik 2011-12-17 00:52:40