請考慮此示例表「Table1」。選擇查詢以獲取對應於列中所有值的行
Col1 Col2
A 1
B 1
A 4
A 5
A 3
A 2
D 1
B 2
C 3
B 4
我想從Col1中取對應於所有值(在本例中爲1,2,3,4,5)的那些值。這裏查詢的結果應該返回'A',因爲在Col2中沒有其他所有值都是1,2,3,4,5。
請注意,Col2中的值由查詢中的其他參數決定,它們將始終返回一些數值。在這些值之外,查詢需要從Col1中獲取與Col2中所有對應的值。 Col2中的值可能是11,12,1,2,3,4(例如,不一定按順序)。
我曾嘗試以下選擇查詢:
select distinct Col1 from Table1 where Col1 in (1,2,3,4,5);
select distinct Col1 from Table1 where Col1 exists (select distinct Col2 from Table1);
及其不同的變化。但問題是我需要爲Col2應用'和'而不是'或'。
像返回從一個Col1中值,其中col2的「包含」 1和5
之間的所有值欣賞任何建議。
這工作。我會嘗試檢查所有情況。另外,你介意關於查詢的細節嗎?我之前沒有使用OVER或PARTITION查詢參數。 – Hemang
@Hemang它是分析功能。 'PARTITION BY'子句將對每組col1進行分組,'ORDER BY'將按col1的每組分組對col2進行排序。因此,子查詢以有序方式爲您提供每行的row_number。看到更新將解釋。 –
@Hemang請標記爲已回答,會幫助別人。 –