首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MySQL内部联接别名

MySQL内部联接别名
EN

Stack Overflow用户
提问于 2012-05-24 00:42:06
回答 2查看 122.3K关注 0票数 33

有没有人知道我如何在内部做内部连接和别名值,这样它们就不会互相覆盖了?如果你看了我的代码,可能会看起来更清楚:

代码语言:javascript
复制
    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

已解决的(在下面的帮助之后是我的最后一个查询)

代码语言:javascript
复制
    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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-24 01:20:35

你需要加入两次:

代码语言:javascript
复制
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
票数 52
EN

Stack Overflow用户

发布于 2012-05-24 00:45:59

使用单独的列来指示连接条件

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10724324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档