0

ありがとうございます :) 私は 4 つのテーブル プロジェクト、ポイント、ステップ、およびコメントを持っています。

プロジェクト ID 名の説明

ポイント ID 名前 desc project_id

ステップ ID 説明 points_id

コメント ID desc steps_id

私はこのようなクエリを書きました

SELECT * FROM Project 
INNER JOIN points ON points.project_id=Project.id
INNER JOIN steps ON steps.points_id=points.id
INNER JOIN comments ON comments.steps_id=steps.id
WHERE Project.id=333

1 つのプロジェクトには多くのポイント、ポイント、多くのステップがあり、このような多くのコメントがあり、1 つのクエリですべての結果を取得したいのですが、そうしないと結果を取得するのに多くの時間がかかります :(( 何ができるかわかりませんする:((

こんな感じです

**Project**
id :1,
name :"get",

**points**
id :1,
name :"points1", ///project "get"'s point
project_id : 1,
id :2,
name :"points2", ///project "get"'s point
project_id : 1,

**steps**
id :1,
name :"steps1", ///project "points2"'s step
points_id : 2,
id :2,
name :"steps2",///project "points2"'s step
points_id : 2,

**comments**
id :1,
name :"something", ///project "steps1"'s comment
steps_id : 1,
id :2,
name :"something",///project "steps2"'s comment
steps_id : 2,

プロジェクトをエコーし​​たいのですが、ポイント、ポイントのステップ、ステップのコメントを1つのクエリで表示したいのですが、この問題を解決する別の方法がある場合はどうすればよいですか? サポートしてくれてありがとう:))))))

4

4 に答える 4

2

まず、SQL 構文が無効です。キーワードがありませんFROMでした。そのはず:

SELECT * 
FROM Table1
       INNER JOIN table2 ON table2.table1_id= table1.id
       INNER JOIN table3 ON table3.table2_id= table2.id
       INNER JOIN table4 ON table4.table3_id= table3.id
WHERE table1.ID = 333

しかし、私はあなたの望む結果が必要です。クエリを完了するには、データベース スキーマとダミー レコードを指定する必要があります。

于 2012-05-28T14:12:16.897 に答える
1

投稿されたクエリに欠けているものはほとんどありません:

  1. FROM句がありません
  2. また、すべての結合は正しくありませんtable2.table1_id= table1.id...そうあるべきです table2.table2_id= table1.id(テーブルのデザインがそうでない限り)

したがって、最終的にクエリは次のようになります

SELECT *  FROM Table1        
INNER JOIN table2 ON table2.table2_id= table1.id        
INNER JOIN table3 ON table3.table2_id= table1.id        
INNER JOIN table4 ON table4.table4_id= table1.id 
WHERE table1.ID = 333 
于 2012-05-28T14:20:06.573 に答える
0

最後の INNER JOIN にタイプミスがあります。table2 は table4 である必要があります。

于 2012-05-28T14:12:02.637 に答える
0

現在、ID を値 333 でフィルター処理して、Table1 からすべての列を取得しています。他のテーブルの列についてはどうでしょうか。どのような結果を期待していますか?

于 2012-05-28T14:11:09.080 に答える