1
所以,我对于销售门票的活动服务三个表:是否需要在这里嵌套两个COUNT?
Event(id)
Ticket(id, venue_id, seller_id)
Venue(id, event_id)
Seller(id)
而且我想检测,每一个事件,我有多少卖家(1型)有有只有售票(并且该票是相应事件)。像
Event_id; First_time_sellers
2814;3
3092;24
124;1
...
我有两个疑问这个企图,都未能得到错误的结果
SELECT event_id,
COUNT(DISTINCT rookie_seller)
FROM
(SELECT event_id,
rookie_seller,
tickets
FROM
(SELECT DISTINCT event.id AS event_id,
seller.id AS rookie_seller,
COUNT(DISTINCT ticket.id) AS tickets
FROM ticket
JOIN venue ON ticket.venue_id = venue.id
JOIN event ON venue.event_id = event.id
JOIN seller ON ticket.seller_id = seller.id
WHERE seller.type = 1
AND ticket.isforsale = 1
GROUP BY rookie_seller) a
WHERE tickets = 1) b
GROUP BY event_id
和
SELECT event.id,
a.seller_id,
a.tickets
FROM ticket
JOIN (
SELECT seller.id AS seller_id,
COUNT(DISTINCT ticket.id) AS tickets
FROM ticket
JOIN seller ON ticket.seller_id = seller.id
WHERE seller.type = 1
AND ticket.isforsale = 1
GROUP BY seller_id) a ON ticket.seller_id = a.seller_id
JOIN venue ON ticket.venue_id = venue.id
JOIN event ON venue.event_id = event.id
WHERE a.tickets = 1
我真的不知道是什么问题。加入应该没问题,还有计数条件,对不对?
感谢您的任何忠告:)
请提供您的样本数据,您得到的结果和预期的数据 – Viki888