[英]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.