我想查询数据库以返回任何行,该行与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