如何在给定条件下从3个不同的表中获取数据(mysql)

时间:2019-03-28 18:12:38

标签: mysql sql phpmyadmin

我正在尝试从数据库中有条件地从3个不同的表中获取数据。
Database Look
如上图所示,这就是我的3张桌子的样子。
“项目”表的工作:
该表存储有关分配给自由职业者的每个项目的信息。

“ payments_freelancer”表的工作
该表存储有关自由职业者为其项目进行的每笔付款的信息。

“用户”表的工作
该表存储了我们网站上每个自由职业者的完整信息。

以下是我要提取的字段:
来自表格项目:

  1. Project_Id
  2. ptitle
  3. freelanceremail
  4. pamount


来自表用户

  1. 全名
  2. 移动


条件
仅当“ 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”表为空,则此查询不返回任何内容。

0 个答案:

没有答案