提前感谢大家。其实我使用的是mysql数据库。我有三个课程,考试和价格。我在比较课程,考试和价格表时需要一行数据,其中在传递课程表ID时,考试表中不应存在价格表的数据,这个$ courseId我从循环中传递。
我编写了一个像这样的SQL查询
select e.*, cs.* FROM exams e
left join courses cs on e.course_id = cs.id
left join prices p on e.course_id = p.course_id
where cs.id = '$courseId' AND p.course_id IS NULL
但它没有用。请有人指导我。
课程表
id | name
1 | ITIL Foundation
2 | PMP
3 | CAPM
考试表
id username course_id
1 58 1
2 58 2
3 58 3
价格表
id userid course_id price
1 58 1 10
2 58 2 20
我需要一个"考试"像这样的表格
考试表
id username course_id
1 58 3
答案 0 :(得分:-1)
尝试编写子查询以从price表中获取course_id的值,然后在(子查询)中添加条件course_id。
select e.*,cs.* from exams as e
left join courses as cs on e.course_id=cs.id
and where course_id not in (select course_id from prices);
我认为这会奏效。我只是一个初学者。如果错了,请原谅我。