[英]PhpMyAdmin SQL query to return multiple records on inner joined tables with count
我在數據庫中有兩個表,“發票”和“客戶”。 我正在嘗試創建一個查詢,該查詢顯示已下兩個或更多訂單的客戶列表。 如果僅查看單個客戶(在這種情況下,客戶的ID為'C120'),以下語句將起作用。
SELECT `invoices`.date,`customers`.name FROM `invoices`
INNER JOIN `customers`
ON `invoices`.cust_id=`customers`.cust_id
WHERE `invoices`.cust_id = 'C120'
HAVING COUNT(`invoices`.date) >=2;
但是,我希望所有符合搜索條件的客戶都擁有一個看法。
我嘗試以以下形式使用LIKE:
WHERE (`customers`.`cust_id` LIKE 'C%')
(所有客戶ID都是以'C'開頭的四個字符),但是所有這一切都是返回'客戶'中的第一個客戶,甚至不滿足> = 2的條件。
WHERE `invoices`.cust_id = 'C*'
返回一個空集。
我的想法不多了,感謝您的幫助。
客戶表如下:
cust_id name
C100 Bloggs
C110 Pekkonen
C120 Finklefluffle
發票表為:
date cust_id amount
2017-10-09 C100 27.78
2017-11-28 C110 409.66
2017-10-17 C110 2729.3
2017-10-09 C120 2.66
2017-11-06 C110 300
2017-11-21 C120 59.65
我想要的結果是:
C110 Pekkonen
C120 Finklefluffle
甚至更好
C110 Pekkonen 3
C120 Finklefluffle 2
我得到什么
WHERE (`customers`.`cust_id` LIKE 'C%')
是完全錯誤的:
C100 Bloggs
以及我得到的
WHERE `invoices`.cust_id = 'C*'
是“空數據集” ..也不正確。
你可以試試這個
SELECT `customers`.cust_id , `customers`.name, count(*) FROM `invoices`
INNER JOIN `customers`
ON `invoices`.cust_id=`customers`.cust_id
GROUP BY `customers`.cust_id , `customers`.name
HAVING COUNT(`invoices`.date) >=2;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.