我需要一个查询建议。
我有 3 个表,表架构如下:
clause_type:
-------------
clause_type_id clause_type_title
-------------- ------------
1 clause type 1
2 clause type 2
clause:
-------
clause_id clause_type_id clause_title position_no
--------- ------------ ------------ -----------
1 1 clause 1 1
2 1 clause 2 2
3 2 clause 3 1
clause_type_link_clause:
-----------------------
clause_id clause_type_id position_no
--------- ------------ ------------
3 1 3
在“clause”表列中,“clause_id”是自增列。一个子句可以有 1:N 个子句类型。所以我有第三张表“clause_type_link_clause”来维持这种 1:n 关系。如您所见,与“clause 1 & 2”一起,“clause 3”也与“clause type 1”相关联。我需要以这样的方式形成查询,即所有属于特定“clause_type”的“原因”都应该返回:
Expected result:
clause_id clause_type_id clause_title position_no
--------- ------------ ------------ -----------
1 1 clause 1 1
2 1 clause 2 2
3 1 clause 3 3
3 2 clause 3 1
我尝试了某种 JOINS,但没有成功。
SELECT
clause_type.`clause_type_id`,
clause.`clause_id`
FROM
`clause` AS clause,
`clause_type` AS clause_type
LEFT JOIN `clause_type_link_clause` AS clause_type_link_clause
ON (
clause_type_link_clause.`clause_type_id` = clause_type.`clause_type_id`
)
WHERE clause_type.`clause_type_id` = clause.`clause_type_id`
请帮忙。