我正在运行以下SQL查询...
$user = 'salesrep_83';
SELECT COUNT(*) AS COUNT
FROM my_table_1 a
JOIN my_table_2 b
ON b.id = a.sale_id
WHERE a.value = '$user'
AND b.date_posted LIKE '05-05-2014'
这正常工作,并向我显示今天日期指定$ user的所有销售额。我想更改此信息,以便向我显示所有销售代表的今日销售情况。我可以使用所有用户ID生成和数组,但不确定如何将其插入查询
任何人都有一个例子吗?
答案 0 :(得分:2)
您只需使用in
运算符。
SELECT COUNT(*) AS count
FROM my_table_1 a JOIN my_table_2 b ON b.id = a.sale_id
WHERE a.value in ('salesrep_82','salesrep_83')
AND b.date_posted = '05-05-2014'
更新(你是对的Rahul):
如果没有LIKE
%
毫无意义
b.date_posted LIKE '05-05-2014'
使用
b.date_posted = '05-05-2014'
代替。
答案 1 :(得分:0)
如果您希望合并所有用户的聚合,只需使用in
子句:
SELECT COUNT(*) AS COUNT
FROM my_table_1 a
JOIN my_table_2 b
ON b.id = a.sale_id
WHERE a.value in ('$user1', '$user2')
AND b.date_posted LIKE '05-05-2014'
如果您想要按用户列出销售清单,则可以将in
与group by
合并:
SELECT value, COUNT(*) AS COUNT
FROM my_table_1 a
JOIN my_table_2 b
ON b.id = a.sale_id
WHERE a.value in ('$user1', '$user2')
AND b.date_posted LIKE '05-05-2014'
GROUP BY value
请注意,根据您运行此查询的位置,由于SQL injection等问题而将字符串值分配给它通常不是一个好习惯。