私が達成しようとしているものと同様の例を見つけるのに苦労しています。私は3つのテーブルを持っています。1つのテーブルからリンクID番号を取得したいと思います。別のテーブルから同じIDを見つけて、そのテーブルの1番目のテーブルのID番号が一致する別の番号の列を追加したいと思います。次に、テキストである3番目のテーブルで、IDがメインID番号と一致するすべてのテキストをグループ化し、これらすべてを1回で返します。私の図は私が何を意味するかを示すはずです:
したがって、それ自体で結果を返す2つのクエリがありますが、Imはそれを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
チケットID3の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
メッセージは正しく結合されます。
メッセージの連結、select内の選択、グループ化するさまざまなメソッド、いくつかの合計などを試しましたが、両方のクエリで結果が正しく返される結果が得られないようです。 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