有没有人知道我如何在内部做内部连接和别名值,这样它们就不会互相覆盖了?如果你看了我的代码,可能会看起来更清楚:
SELECT home, away, g.network, g.date_start
FROM game g
INNER JOIN team t ON (
(t.importid = g.home) as home
OR
(t.importid = g.away) as away
)
ORDER BY date_start DESC
LIMIT 7
已解决的(在下面的帮助之后是我的最后一个查询)
SELECT
home.market AS home_market,
away.market AS away_market,
g.network,
g.date_start
FROM game AS g
INNER JOIN team AS home ON (
home.importid = g.home
)
INNER JOIN team AS away ON (
away.importid = g.away
)
ORDER BY g.date_start DESC
LIMIT 7
发布于 2012-05-24 01:20:35
你需要加入两次:
SELECT home.*, away.*, g.network, g.date_start
FROM game AS g
INNER JOIN team AS home
ON home.importid = g.home
INNER JOIN team AS away
ON away.importid = g.away
ORDER BY g.date_start DESC
LIMIT 7
发布于 2012-05-24 00:45:59
使用单独的列来指示连接条件
SELECT t.importid,
case
when t.importid = g.home
then 'home'
else 'away'
end as join_condition,
g.network,
g.date_start
FROM game g
INNER JOIN team t ON (t.importid = g.home OR t.importid = g.away)
ORDER BY date_start DESC
LIMIT 7
https://stackoverflow.com/questions/10724324
复制相似问题