我想查詢數據庫以返回任何行,該行與3列中的可能值列表中的值相匹配。這可能嗎?從MySQL中的多列中選擇任何一行
我的表有以下幾列:ID,ANS1,ANS2,ANS3
這是我在查詢嘗試:
SELECT *
FROM table
WHERE
ans1 IN ("Yes", "No", "Maybe") OR
ans2 IN ("Yes", "No", "Maybe") OR
ans3 IN ("Yes", "No", "Maybe");
的3列的每一個可以空,和我如果它只包含列表中的值和(或更多)的列,則僅返回一行。查詢成功執行(無語法錯誤),但僅返回全部列中存在值的行。
例如:
INSERT INTO table
(ans1,ans2,ans3)
VALUES
("Yes","No","Maybe"),
(null,"Yes",null),
(null,null,"Yes");
我想查詢返回的所有3行,而是它只是作爲每一列都包含一個匹配的值返回的第一行。
您試過的查詢是否無效?如果是這樣的話,它有什麼問題? – VeeArr 2012-03-13 19:37:44
如果問題是你只想得到一個結果,那麼查詢結束時的限制1就可以做到這一點;) – 2012-03-13 19:42:04
感謝你的迴應,但我正在按照上面的編輯查找所有行。 – Jason 2012-03-13 19:46:46