我試圖返回所有行中的特定ID,其中在與這些ID綁定的行中的任何一行中滿足條件。請原諒我是新手到SQL ...實施例下面:SQL - 返回所有行的ID,其中一行符合條件A,B或C
ID *線*#*
12 * 1 * A *
- 12 * 2 * B *
- 12 * 3 * X *
- 12 * 4 * Y *
- 15 * 1 * A *
- 15 * 2 * B *
- 15 * 3 * C *
不知道什麼代碼會比我的選擇和條件=其它(X ,Y或Z)返回:
ID *行*#*
12 * 1個* A * < - 不包括X,Y,或Z但是
- 12 * 2 * B * <的ID的一部分 - 具有X在另一行該ID的
- 12 * 3 * X *
- 12 * 4 * Y *
我想拉都行記錄,儘管沒有滿足條件,只要他們身份證件的一部分t有一排符合條件。
感謝您的幫助!
*編輯:包括試圖代碼*
SELECT ID
,LINE
,#
WHERE ID,
IN (
SELECT ID
WHERE # IN ('X','Y','Z'))
結果:
ID LINE #
12 3 X
12 4 Y
我需要什麼:
ID LINE #
12 1 A
12 2 B
12 3 X
12 4 Y
我幾乎覺得我需要創建一個臨時表格ID &使用我的條件IN(' X','Y','Z'),然後將所有LINE的內部連接標識爲非X,Y,Z。我認爲這可能有效,但我還沒有學會如何使用臨時表。我有點困擾,因爲我正在使用一個查詢,在這裏我簡化了一個查詢,在這裏我選擇了18個連接其他7個表的字段。我認爲這只是讓我對子查詢的理解複雜化了,而不是那個被這個子查詢影響的子查詢。
謝謝大家的幫助和解答!
是三列還是單列? – scsimon
使用子查詢來標識ID,然後使用ID爲ID的IN來返回實際的行 –
scsimon的代碼應該在正確使用時工作。你嘗試了我的OLAP方法嗎? – dnoeth