坚持使用SQL查询"从表中选择列"

时间:2015-08-05 09:48:29

标签: php mysql

我正在尝试查询一个非常小的任务。例如:我有两列"姓名"和" Cash",这里是一些示例数据:

Cash     Name
100      mr. A
110      mr. A
150      mr. A
120      mr. A
200      mr. B
220      mr. B
202      mr. B
300      mr. C

现在我需要查询220(现金),它将搜索整个数据库, 我试着精简;

SELECT * FROM `tbl_cash` 
WHERE `cash`='220' AND `name` = 'mr. B' OR `name` = 'mr. A' OR `name` = 'mr. C'

但它不起作用。因为我需要在整个数据库中搜索匹配名称和现金,然后它应该输出正确的值。

5 个答案:

答案 0 :(得分:3)

试试这个 - 使用IN运算符,它允许你在WHERE子句中指定多个值:

SELECT * FROM `tbl_cash` 
WHERE `cash`='220' AND `name` IN ('mr. B','mr. A','mr. C')

答案 1 :(得分:-2)

你的意思是

SELECT * FROM tbl_cash WHERE cash='220' 

 SELECT * FROM `tbl_cash` WHERE cash='220' AND (name = 'mr. B' OR name = 'mr. A' OR name = 'mr. C')

 SELECT * FROM `tbl_cash` WHERE cash='220' AND (name like 'mr.%')

答案 2 :(得分:-2)

只需尝试使用IN运算符

SELECT * FROM `tbl_cash` 
WHERE `cash`='220' AND `name` IN('mr. B','mr. A','mr. C')

答案 3 :(得分:-2)

使用这个

SELECT * FROM tbl_cash WHERE cash='220' AND name IN('mr. A', 'mr. B', 'mr. C') GROUP BY cash, name

答案 4 :(得分:-2)

SELECT * FROM tbl_cash     WHERE cash = 220 AND name LIKE'rr。%')`