我有以下两张表。
节点
id title
1 test
2 test2
属性
id node_id title value
1 1 featured 1
2 1 age 13
3 2 featured 2
我想查询属性标题为'featured'的节点及其所有属性。
我尝试加入,但我不知道如何同时查询其他属性。
是否可以进行单个查询来执行此操作?
答案 0 :(得分:1)
我认为这是一个简单的连接
SELECT b.title as NodeTitle, a.title, a.value
FROM attributes a
INNER JOIN nodes b
ON a.node_id = b.id
答案 1 :(得分:1)
您可以使用子查询来获取具有属性'所有节点的ID。外部查询将是JOIN
以获取其余属性。
像:
SELECT n.*, a.*
FROM nodes n JOIN attributes a ON a.node_id=n.id
WHERE n.id IN
(SELECT DISTINCT no.id
FROM nodes no JOIN attributes at ON at.node_id=no.id AND at.title='featured')