我有一個帶有兩個字段的表。SQL:在字段1中選擇所有具有相同ID的行,其中字段2符合標準
如果代碼= A,則轉到第一列(批處理)並查看該值。 值爲1 然後,選擇所有行,其中批次= 1
如果特定批次的代碼不是那麼這些記錄不被選擇
這個查詢的結果將是僅包含行批量= 1,因爲其中一批= 1已得到代碼的線路之一= A
Batch code
_____________
1 A
1 B
1 C
1 D
2 B
2 B
2 C
2 D
我有一個帶有兩個字段的表。SQL:在字段1中選擇所有具有相同ID的行,其中字段2符合標準
如果代碼= A,則轉到第一列(批處理)並查看該值。 值爲1 然後,選擇所有行,其中批次= 1
如果特定批次的代碼不是那麼這些記錄不被選擇
這個查詢的結果將是僅包含行批量= 1,因爲其中一批= 1已得到代碼的線路之一= A
Batch code
_____________
1 A
1 B
1 C
1 D
2 B
2 B
2 C
2 D
SELECT Batch, Code
FROM table t1
WHERE Batch = (SELECT Batch FROM table t2 WHERE code='A')
嘗試這樣的事情...
SELECT batch, code
FROM yourtable
WHERE batch IN (SELECT batch FROM yourtable WHERE code='A')
您可以使用IN
。首先,創建一個查詢,會發現Batch
其中Code = 'A'
值:
SELECT Batch
FROM YourTable
WHERE Code = 'A'
然後用這個邏輯,一個子查詢與IN
:
SELECT Batch, Code
FROM YourTable
WHERE Batch IN (
SELECT Batch
FROM YourTable
WHERE Code = 'A'
)
IN
優於=
在這裏,因爲它涵蓋了有代碼爲'A'的多個批次值的情況。
您正在使用哪些DBMS? –