我很难找到与我想要实现的目标类似的例子。我有 3 张桌子。我想从一张表中获取链接 ID 号。从另一个表中,我想找到相同的 ID,并在该表中添加另一列数字,其中第一个表中的 ID 号匹配。然后在第三张表上,即文本,我想将 ID 与主 ID 号匹配的所有文本组合在一起......并在 1 中返回所有这些。我的图表应该显示我的意思:
因此,有 2 个查询将自行返回部分结果,但我努力将其构建为 1 个单个查询。
SELECT ticket_charges.ticket_id
, sum(ticket_charges.charge_time) AS Seconds
FROM
ticket_charges
LEFT OUTER JOIN tickets
ON ticket_charges.ticket_id = tickets.id
GROUP BY
ticket_charges.ticket_id
, tickets.id
票号 3 的 77 和 937 已正确相加!!
SELECT tickets.id AS `Ticket Number`
, left(tickets_messages.message, 500) AS `Ticket Message`
FROM
tickets
INNER JOIN tickets_messages
ON tickets.id = tickets_messages.id
GROUP BY
tickets_messages.ticket_id
, tickets.id
消息正确地连接在一起。
我已经尝试了一些消息连接,选择中的选择,不同的分组方法,几个总和等。但似乎无法得到一个结果,我通过两个查询都正确地得到了结果作为 1 个单一查询。要么来自“charge_time”的连接数字非常错误,并且与任何东西都不匹配,或者我最终在“charge_time”上得到数百个“消息”和奇怪的数字
仅供参考..如果我尝试这个,我会得到“子查询返回超过 1 行”,但这是我认为我应该做的。
SELECT ticket_charges.ticket_id
, sum(ticket_charges.charge_time) AS Seconds
FROM
ticket_charges
LEFT OUTER JOIN tickets
ON ticket_charges.ticket_id = tickets.id
Where (SELECT left(tickets_messages.message, 500)
FROM
tickets
INNER JOIN tickets_messages
ON tickets.id = tickets_messages.id
GROUP BY
tickets.id)
GROUP BY
ticket_charges.ticket_id
, tickets.id