0
ALTER PROCEDURE [dbo].[SpFillAnswer] 
    @q_Id nvarchar(50)
AS
BEGIN
    --SET NOCOUNT ON;

    SELECT Answer, Date_Time, Name 
    FROM Answers, RegUsers
    WHERE Answers.Q_Id = @q_Id 
      AND RegUsers.UserId = (SELECT Answers.User_Id FROM Answers WHERE Answers.Q_Id = @q_Id);
END

RegUsers、およびの 3 つのテーブルがAnswersありQuestionsます。

テーブルから取得する必要があるAnswerと同時に、テーブルから取得する回答を投稿した人を見つける必要がDate_Timeあります。AnswersUser NameRegUsers

このために、サブクエリによる1つの結果に対して適切に実行されている次のコードを試しました。

しかし、サブクエリから複数の結果が出てくると、エラーが発生します。

(Select Answers.User_Id from Answers where Answers.Q_Id = @q_Id )

私を助けてください、私の望む結果のために別のサブクエリを提案してください。

ありがとう。

4

1 に答える 1

1

に変更=INます。

Select Answer, Date_Time, Name from 
Answers, RegUsers
where Answers.Q_Id = @q_Id 
and RegUsers.UserId IN (
   Select Answers.User_Id 
   from Answers 
   where Answers.Q_Id = @q_Id );
于 2012-12-21T04:32:01.937 に答える