我正在尝试从数据库中有条件地从3个不同的表中获取数据。
Database Look
如上图所示,这就是我的3张桌子的样子。
“项目”表的工作:
该表存储有关分配给自由职业者的每个项目的信息。
“ payments_freelancer”表的工作
该表存储有关自由职业者为其项目进行的每笔付款的信息。
“用户”表的工作
该表存储了我们网站上每个自由职业者的完整信息。
以下是我要提取的字段:
来自表格项目:
来自表用户
条件
仅当“ payments_freelancer”表中不存在该详细信息时,才可以提取该信息。
例如:如果“ payments_freelancer”表的“ payments_freelancer.freelancer_email”字段中包含“ diwakar@gmail.com”,则不应从项目和用户表中获取“ diwakar@gmail.com”的数据。
如果存在在“ payments_freelancer”表中没有类似“ jatin@gmail.com”的电子邮件,则应从项目和用户表中获取“ jatin@gmail.com”的数据。
我在下面的查询中尝试执行此任务:
SELECT projects.project_id, projects.ptitle, projects.pamount, users.email, users.mobile, users.profile_pic, users.fullname FROM projects INNER JOIN users ON projects.freelanceremail = users.email INNER JOIN payments_freelancer ON payments_freelancer.freelancer_email != projects.freelanceremail WHERE projects.finalpaystatus = 0 AND projects.complink IS NOT NULL
该查询对我有用,但仅当“ payment_freelancer”表不为空时。如果“ payment_freelancer”表为空,则此查询不返回任何内容。