繁体   English   中英

连接来自两个MySQL表的结果

[英]Join results from two MySQL tables

我有两个无法获得联接结果的MySQL表。

第一个只是公司及其名称的列表:

companies:
____________________________
companyid  |  companyname  |
1               comp1
2               comp2

第二个是用户角色列表:

roles:
_____________________________________________________
roleid  |  uid  | role  |  companyid  |  suspended  |
1           1     dir           1           0
2           1     manag         2           0

我想得到一个看起来像这样的结果:

_______________________
companyname  |  role  |
comp1           dir
comp2           manag

我的下面查询不返回任何内容...

SELECT companies.companyid, roles.role FROM companies INNER JOIN roles ON roles.companyid=companies.companyname where (uid = 1 and suspended = 0)

您正在加入role.companyid = companies.companyname,这是不正确的,因为companyname是字符串而不是整数。

尝试以下方法:

SELECT companies.companyid, roles.role FROM companies INNER JOIN roles ON roles.companyid=companies.companyid where (uid = 1 and suspended <> 0);

检查您的加入条件。

尝试这个,

select a.companyname,b.role from companies a, roles b
    where a.companyid=b.companyid and
    (b.uid = 1 and
    b.suspended <> 0);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM