我有兩個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