2016-07-08 11 views
0

選択SQLマージするためにどのように2つのSQLは、一つのテーブルは、2つの私がマージする

クエリ1から選択クエリ1方法で

SELECT ShoppingLike.WhichId 
FROM ShoppingLike 
WHERE (ShoppingLike.ShoppingScoreTypeId = 2) AND (ShoppingLike.UserId = 189) 

代わりの75クエリ2の結果を使用する必要がありますか?

+1

サンプルデータと期待される結果を提供すれば、助けになるかもしれません... – sgeddes

+0

@sgeddes私は彼が 'UNION'を望んでいると推測しています。 –

+0

@TimBiegeleisen - 正直言って本当に確かではない、「組合」は理にかなっているかもしれませんが、「存在する」か「入」することもできます。この時点で誰が知っている... – sgeddes

答えて

0

おそらくサブ選択クエリですか?クエリは、単にこのように書くことができ、その場合

SELECT UserId 
FROM ShoppingLike 
WHERE WhichId IN (
    SELECT WhichId 
    FROM ShoppingLike 
    WHERE (ShoppingScoreTypeId = 2) AND (UserId = 189) 
) 

これは常に結果としてUserId 189と行を生成するが、:

SELECT UserId 
FROM ShoppingLike 
WHERE (ShoppingScoreTypeId = 2) AND (UserId = 189) 

これはShoppingScoreTypeIdと各レコードの行を返すことになります= 2の場合UserId 189.

+0

ありがとう、それはうまく動作します:) – dan

0
SELECT  UserId 
FROM   ShoppingLike 
WHERE  (ShoppingScoreTypeId = 2) 
AND WhichId = (
SELECT  top 1 ShoppingLike.WhichId 
FROM   ShoppingLike 
WHERE  (ShoppingLike.ShoppingScoreTypeId = 2) AND (ShoppingLike.UserId = 189) 
) 
+0

なぜ "SELECTトップ1"、それはレコードの配列でなければならない1つのレコード – dan

+0

ああ、あなたは2番目のクエリの結果と一致するように頼んだ。その場合は、 "トップ1"を削除して変更してください(...) –

関連する問題