我需要一些帮助来从N-M关系(M个州中的N个项目)中检索数据。 我写了以下SELECT语句,没有错误,但是结果是0行(实际上法国有6个项目)....
SELECT
p.id_prj, p.title
FROM
table_p p
JOIN
table_ps ps ON p.id_prj = ps.id_project
JOIN
table_s s ON s.st_code = ps.id_state
WHERE
s.name = 'France'
表为:
每个表都有主键集。 那怎么了少了什么东西?任何帮助,将不胜感激;-)
答案 0 :(得分:1)
仅从table_p中选择,然后使用WHERE EXISTS(...):
SELECT *
-- p.id_prj, p.title
FROM table_p p
WHERE EXISTS (
SELECT *
FROM table_ps ps
JOIN table c ON c.st_code = ps.id_state AND c.name = 'France'
WHERE ps.id_project = p.id_prj
);