4

4 つのテーブルがあります。 1. tbl_threads 2. tbl_comments 3. tbl_votes 4. tbl_users

現在ログインしている user_id =3 thread_id = 10 とします。

次に、次のデータを取得する必要があります

All the fields from tbl_comments where tbl_comments.thread_id =10
All the fields from tbl_users based on the common key tbl_users.user_id = tbl_comments.user_id
All the fields from tbl_votes Where user_id =3 And tbl_votes.comment_id =tbl_comments.comment_id 

このすべての機能を 1 つのクエリで実行するにはどうすればよいですか?

次のクエリを試しましたが、間違った結果が得られます

SELECT tbl_comments.*
     , tbl_users.*
     , tbl_votes.* 
FROM tbl_comments 
INNER JOIN tbl_users 
on tbl_comments.user_id = tbl_users.user_id 
WHERE thread_id= 10
INNER JOIN tbl_votes 
on tbl_votes.comment_id = tbl_comments.comment_id 
WHERE tbl_votes.user_id= 3
4

2 に答える 2

2

thread_id列がtbl_commentsテーブルにあると仮定して、最初の列を次のように変更whereandます。

SELECT tbl_comments.*
     , tbl_users.*
     , tbl_votes.* 
FROM tbl_comments 
INNER JOIN tbl_users 
on tbl_comments.user_id = tbl_users.user_id 
and  tbl_comments.thread_id= 10
INNER JOIN tbl_votes 
on tbl_votes.comment_id = tbl_comments.comment_id 
WHERE tbl_votes.user_id= 3

あなたの質問は という名前のテーブルに言及していtbl_threadsますが、例ではそれへの参照を示していません。

于 2013-03-03T18:40:01.473 に答える
0
SELECT O.OrderNumber, CONVERT(date,O.OrderDate) AS Date, 
       P.ProductName, I.Quantity, I.UnitPrice 
  FROM [Order] O 
  JOIN OrderItem I ON O.Id = I.OrderId 
  JOIN Product P ON P.Id = I.ProductId
ORDER BY O.OrderNumber
于 2016-01-09T12:04:48.083 に答える