0

値を挿入する一時テーブルがあります。

SELECT ColourID
INTO #TEMP
FROM [Orders]
WHERE [Order] = 12345

その後、このようなことを行うステートメントがあります。

SELECT ColourName
FROM Colours
WHERE [ID] IN(SELECT ColourID FROM #TEMP)

DROP TABLE #TEMP

これは戻ります。

Yellow
Red

この には Red のインスタンスがいくつかあり、Redorderの ID はそれぞれの一時テーブルにあります。各インスタンスを表示するにはどうすればよいですか? を実行しようとしましたCOUNTが、各色の横に 1 つが返されます。

4

4 に答える 4

3

があなたを正しく理解していれば、たとえば、赤を含むすべての注文行に対して「赤」を表示したいと考えています。次に必要なものINNER JOIN

SELECT c.ColourName, t.* FROM #TEMP as t INNER JOIN Colours as c ON t.ColourID = c.ID
于 2013-10-07T14:32:25.133 に答える
1

私があなたを正しく理解していれば、一時テーブル内の各インスタンスの一意でない色を表示するために結合が必要です:

SELECT ColourName
FROM Colours, #TEMP
WHERE ID = ColourID
于 2013-10-07T14:35:58.340 に答える