0
創建
我有以下SQL查詢它以某種方式打破:選擇數據的SELECT
SELECT *
FROM (
SELECT ID, TEST, CHR, NUMBER
FROM Test_Table
JOIN ...
WHERE ...
) TEMP_TABLE
FROM TEMP_TABLE a
LEFT
JOIN TEMP_TABLE b
ON b.test = a.test
AND b.chr = 'x'
WHERE a.number IN (5,6)
AND b.id IS NULL
GROUP
BY a.test
HAVING COUNT(*) = 2;
從第一FROM
聲明,我得到以下臨時表:
ID , TEST, CHR , NUMBER
------------------------------
(1 , 7 , 'C' , 5),
(2 , 7 , 'T' , 6),
(3 , 8 , 'C' , 4),
(4 , 8 , 'T' , 5),
(5 , 9 , 'A' , 4),
(6 , 9 , 'G' , 5),
(7 , 10 , 'T' , 4),
(8 , 10 , 'A' , 5),
(9 , 10 , 'X' , 6),
(10 , 14 , 'T' , 4),
(11 , 14 , 'G' , 5);
從FROM TEMP_TABLE ...
我嘗試實施下列條件:
例如
test
第7列包含兩行,如果number
列包含值5和6,並且該值不是在chr
列中,我想選擇在test
列中選擇具有7的行。例如
test
柱10含有三行,如果number
列包含值5和6,以及值X存在於chr
列中,我想在test
柱10以排除行。
至於導致只應test
柱7,因爲test
第7列有5個和6個在number
列,而不是X.
結果例如:
ID | TEST | CHR | NUMBER
1 | 7 | C | 5
2 | 7 | T | 6
做什麼上面的SQL查詢出錯了嗎?