簡體   English   中英

將數組插入SQL查詢

[英]Insert array into SQL query

我正在運行以下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生成和數組,但不確定如何將其插入到查詢中

有人有例子嗎?

您只需使用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'

代替。

如果要合並所有用戶的聚合,只需使用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'

如果您希望按用戶列出銷售清單,則可以將ingroup 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注入等問題,將字符串值分配給它通常不是一個好習慣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM