0

次の2つのテーブルがあります。

  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

属性タイトルが「featured」で、そのすべての属性を持つクエリ ノードが必要です。

参加しようとしましたが、同時に他の属性を照会する方法がわかりません。

これを行うために単一のクエリを作成することは可能ですか?

4

2 に答える 2

1

サブクエリを使用して、属性「featured」を持つすべてのノードの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')
于 2012-10-18T07:21:53.300 に答える
1

これは単純な結合だと思います

SELECT  b.title as NodeTitle, a.title, a.value
FROM    attributes a
        INNER JOIN nodes b
            ON a.node_id = b.id
于 2012-10-18T07:18:14.990 に答える