我有這張桌子
表格1
---------------
nums |
---------------
1 |
2 |
8 |
32 |
11 |
31 |
28 |
17 |
38 |
14 |
--------------
然后我有這張桌子
表2
--------------------
DRAWNUMBER|n1|n2|n3|
--------------------
39494 |2 |23|34|
28288 |8 |12|11|
23000 |11|32|20|
90000 |14|28|38|
30000 |22|18|11|
10000 |32|39|18|
-------------------
使用此查詢,我從 table2 中獲取主抽獎(分組)的數字
SELECT (" "||n1||"-"||n2||"-"||n3 )NUMBERS FROM(SELECT n1,n2,n3, max(DRAWNUMBER) FROM table2)
結果:
----------
NUMBERS |
---------|
14-28-38 |
----------
現在我需要做的是只將表 2 中的數字帶入表 1。
通過這個查詢,我嘗試進行比較,但我得到了表 2 中的所有數字。
SELECT nums from table1 WHERE EXISTS(SELECT (" "||n1||"-"||n2||"-"||n3)FROM(SELECT n1,n2,n3, max(DRAWNUMBER) FROM table2))
結果:
---------------
nums |
---------------
1 |
2 |
8 |
32 |
11 |
31 |
28 |
17 |
38 |
14 |
--------------
預期的:
---------------
nums |
---------------
14 |
28 |
38 |
--------------
相反,如果我想從 table1 中獲取不在 table2 中的數字,它只會回傳空。
SELECT nums from table1 WHERE NOT EXISTS(SELECT (" "||n1||"-"||n2||"-"||n3)FROM(SELECT n1,n2,n3, max(DRAWNUMBER) FROM table2))
結果:
---------------
nums |
---------------
|
--------------
我不知道查詢有什么問題。我已經將 EXISTS 更改為 = 并且我還使用了運算子 <> 但它不符合我的期望。提前致謝。-
uj5u.com熱心網友回復:
您可以加入table1查詢:
SELECT n1, n2, n3, MAX(DRAWNUMBER) FROM table2
回傳您的主要抽獎號碼:
SELECT t1.*
FROM table1 t1
INNER JOIN (SELECT n1, n2, n3, MAX(DRAWNUMBER) FROM table2) t2
ON t1.nums IN (t2.n1, t2.n2, t2.n3)
ORDER BY t1.nums;
或者更改IN為NOT IN以獲取table1查詢未回傳的數字。
請參閱演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/315206.html
上一篇:從多個表中選擇,結果由表標記
