gpt4 book ai didi

mysql - sql左连接限制子查询

转载 作者:行者123 更新时间:2023-11-29 00:24:31 25 4
gpt4 key购买 nike

我试图为“spielplan”的每个元素获取“live_spiele”的唯一一个元素(最后一个)。这是整个查询:

SELECT live.resh as l_resh, live.resa as l_resa, s.spielid, s.datum, s.zeit
, s.ort, t.name, t.kurzname, s.gegner, s.resh, s.resa
from spielplan s
LEFT JOIN (Select l.livespiel_id, l.resh, l.resa, l.spiel_id from live_spiele l)
live on s.spielid = live.spiel_id
, teams t
WHERE DATE(s.datum) BETWEEN '".$date1."' AND '".$date2."'
AND s.teamid = t.teamid
ORDER BY datum, zeit

但是对于“spielplan”中的元素,如果有多行是具有相同标识符的“live_spiele”,这会给我超过 1 行。

我尝试的是子查询中的 MIN/MAX,但这没有帮助,因为 MIN/MAX 值通常不是标识符的正确值。我也尝试了 LIMIT,但我没有得到解决方案。

有没有办法只选择标识符与“spielplan s”标识符相同的“live_spielplan”?

最佳答案

使用 GROUP BY 子句:

SELECT live.resh as l_resh, live.resa as l_resa, s.spielid, s.datum, s.zeit
, s.ort, t.name, t.kurzname, s.gegner, s.resh, s.resa
from spielplan s
LEFT JOIN (Select l.livespiel_id, l.resh, l.resa, l.spiel_id from live_spiele l)
live
on s.spielid = live.spiel_id
, teams t
WHERE DATE(s.datum) BETWEEN '".$date1."' AND '".$date2."'
AND s.teamid = t.teamid
ORDER BY datum, zeit GROUP BY s.spiel_id

关于mysql - sql左连接限制子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19562439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com