2014-08-28 50 views
0

如何編寫查詢以顯示記錄,其中sample1_id = 3sample2_id = 5Sample1_id = 5sample2_id =3在同一張表上交叉檢查查詢

含義應該檢查sample1_id行,看看哪裏有5相符的記錄與具有3個記錄,也檢查是否sample1_id是與具有3記錄sample2_id 5號線的記錄sample2_id

我希望我的問題做有意義

enter image description here

+0

與期望的結果有些樣本數據會一直清晰。 – Mihai 2014-08-28 15:44:51

回答

0

通過您所提供什麼只是去,一個模擬的說法是這樣的:

SELECT * 
FROM MyTable 
WHERE (sample1_id = 3 AND sample2_id = 5) 
    OR (sample1_id = 5 AND sample2_id = 3); 

如果這不正確,請提供一些樣本數據和您想要的結果樣本。

添加以下響應有關使用變量的問題:

DECLARE @intId1 int, 
     @intId2 int; 

SET @intId1 = 3; 
SET @intId2 = 5; 

BEGIN; 
    SELECT * 
    FROM MyTable 
    WHERE (sample1_id = @intId1 AND sample2_id = @intId2) 
     OR (sample1_id = @intId2 AND sample2_id = @intId1); 
END; 
+0

如果我想用變量替換數字,該怎麼辦?因爲我可能不知道用戶會通過的號碼,所以我認爲最好的是我用變量替換它 – blay 2014-08-28 15:50:32

+0

經過更新以顯示使用變量。根據你在哪裏使用這個來自:內部到SQL服務器,或從外部應用程序 - 你需要看看你想如何填充這些變量。從外部應用程序,夢想編織 – gmiley 2014-08-28 15:56:55

+0

。使用網頁上的結果 – blay 2014-08-28 16:05:50