mysqli内部联接:其他表中不存在数据
我有3个表,我使用内部联接从表中获取数据mysqli内部联接:其他表中不存在数据,mysql,Mysql,我有3个表,我使用内部联接从表中获取数据 select b.pic,b.fname,b.lname, a.job_id, a.uid, a.job_title, a.description, a.city, a.position, a.salary, a.looking_for,a.website,a.date from job_posting a inner join users b inner join job_applied c on a.uid = b
select b.pic,b.fname,b.lname, a.job_id, a.uid, a.job_title, a.description, a.city, a.position,
a.salary, a.looking_for,a.website,a.date
from job_posting a
inner join users b
inner join job_applied c on a.uid = b.uid and b.uid = c.uid
where c.job_id IS NULL and c.uid IS NULL and a.looking_for = 'student'
上述查询未返回任何数据。它是空的
让我解释一下这张桌子
职位公告-包含职位信息。用户-包含发布作业的用户信息。
job_applied-包含用户已申请作业
所以,我想得到那些没有申请的工作。在Job\u paplied表中,我有Job\u id和uid。而不是
内部联接
尝试左联接
如下:
select b.pic,b.fname,b.lname, a.job_id, a.uid, a.job_title,a.description,a.city, a.position,
a.salary, a.looking_for,a.website,a.date from job_posting a
LEFT JOIN users b on a.uid = b.uid
LEFT JOIN job_applied c on b.uid = c.uid
where c.job_id IS NULL and a.looking_for = 'student'
然后重试。获取错误-#1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解在“where c.job_id为NULL,c.uid为NULL,a.looking_for=”student“附近使用的语法是否正确。检查这些列是否存在于相关表中?@calculatingmachine Fixed。无错误,但它显示了应用的作业以及应用的作业表中的数据。共有3个错误我申请了1份工作,但我还是得到了3份记录。我需要为这个做一把小提琴。谢谢,我的建议是提供“三件事”。那可能包括也可能不包括小提琴。