首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不返回行的多个表上的内部联接

不返回行的多个表上的内部联接
EN

Stack Overflow用户
提问于 2016-09-15 23:17:59
回答 1查看 166关注 0票数 1

这个查询有什么问题吗?我一直在工作,直到我截断了我的数据库,现在我只有一条记录在其中,当我在phpmyadmin中运行这个查询时,它返回0行。

我遗漏了什么?

代码语言:javascript
复制
SELECT 
Users.id,
Users.firstname,
Users.lastname,
Users.email,
Users.age,
Users.phone,
Universities.Faculty AS university,
Internship.internship_type AS Internship,
City.city AS city,
Interest.interest AS interest,
Users.filename,
Users.reg_date 
        FROM Users 
        INNER JOIN City ON Users.city = City.key 
        INNER JOIN Universities ON Users.university = Universities.id 
        INNER JOIN Interes ON Users.interest = Interest.key 
        INNER JOIN Internship ON Users.internship_type = Internship.internship_type
            ORDER BY `Users`.`id` ASC;
EN

回答 1

Stack Overflow用户

发布于 2016-09-15 23:22:53

可能不是所有的表中都有数据,所以你可以使用left join来检查它,并确保至少用户表必须有数据:然后一个接一个地将left join更改为inner,在那里你不会获得数据,这就会出现问题,但是如果其他表的数据是可选的,那么最好使用left join:

代码语言:javascript
复制
SELECT 
    Users.id,
    Users.firstname,
    Users.lastname,
    Users.email,
    Users.age,
    Users.phone,
    Universities.Faculty AS university,
    Internship.internship_type AS Internship,
    City.city AS city,
    Interest.interest AS interest,
    Users.filename,
    Users.reg_date 
FROM Users 
LEFT JOIN City ON Users.city = City.key 
LEFT JOIN Universities ON Users.university = Universities.id 
LEFT JOIN Interes ON Users.interest = Interest.key 
LEFT JOIN Internship ON Users.internship_type = Internship.internship_type
ORDER BY `Users`.`id` ASC;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39514731

复制
相关文章

相似问题

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