我在这里要求实施这个问题 MYSQL count of count?
我的问题是关联我从一个表中取出结果的结果,使用它们来查询同一个数据库的另一个表 (抱歉,我不是强大的xySQL)。
我有一个名为ticketdb的MySQL数据库,我需要根据table2(poststb)上的计数从table1(tickettb)中提取数据
方案: 更准确地说,门票中的帖子有回复而且我需要离开poststb表,所有门票只有2个帖子。 从该结果,我需要从tickettb表中提取所有相应的票证。 正如您可能猜到的那样,poststb只包含故障单标识,该帖子的日期,主题和消息,其他所有用户信息都在故障单中。
到目前为止,我成功了(感谢上面的帖子)从帖子中回复两篇帖子,但是因为他们在游戏中输入别名,我就被卡住了。
代码是这个
SELECT PostsOfTheGivenTicket, TicketIdentification
FROM (SELECT posttb.ticket_id, COUNT(posttb.ticket_id) AS
PostsOfTheGivenTicket, posttb.ticket_id as TicketIdentification
FROM posttb GROUP BY posttb.ticket_id
HAVING PostsOfTheGivenTicket= 2) AS TemporaryTable
(也许这不是我目标的最佳选择,所以感谢您的任何确认)
无论如何,经过测试,它只返回所有83张票,只有2条消息
上述查询的结果如下:
PostsOfTheGivenTicket TicketIdentification
2 1234
2 1451
2 1526
看起来它被分配给临时/别名表TemporaryTable(是吗?如何重用它?)
在tickettb表中,我有一个列,其名称已设置为IdTicket,它存储相同的值
IdTicket UserName UserPhone UserEmail etc etc
1234
....
1451
....
1526
我的目标是拉出(最后在网络服务器上)与匹配的门票相关的所有tickettb详细信息,换句话说
SELECT from tickettb every ticket with IdTicket equal to TicketIdentification
是否可以将上述查询嵌套到实现目标的另一个查询中?
在最终目标的同时,将转而使用2条消息选择并删除部分门票,例如:只有超过10天的人。
答案 0 :(得分:1)
SELECT * FROM ticketb WHERE IdTicket IN
(
SELECT ticket_id
FROM posttb
GROUP BY ticket_id
HAVING COUNT(ticket_id) = 2
)