2012-10-18 67 views
0

我有以下兩個表。如何查詢此表?

  1. 節點
  2. 屬性

節點

id title 
1 test 
2 test2 

屬性

id node_id title value 
1 1  featured 1 
2 1  age  13 
3 2  featured 2 

我想查詢節點的屬性標題「精選」及其所有屬性。

我試圖加入,但我不知道如何同時查詢其他屬性。

是否可以做一個單一的查詢來做到這一點?

+1

我們展示一個例子輸出 – alfasin

回答

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') 
+0

這正是我想要的。謝謝! – Moon

1

我覺得這是一個簡單的加入

SELECT b.title as NodeTitle, a.title, a.value 
FROM attributes a 
     INNER JOIN nodes b 
      ON a.node_id = b.id 
+0

但我想有特色的節點集合爲1只 – Moon

+0

我的意思,從你上面的樣本記錄從屬性表 – Moon

+0

功能,您可以顯示爲它輸出? –