2012-01-13 7 views
1

私は、選択された照会で結合を持つビューを持っています。JOINを使用してSQL VIEW selectクエリで別個の結果を得る方法はありますか?

SELECT 
t.a, 
t.b, 
(SELECT CASE WHEN t2.field IS NULL THEN 0 ELSE 1 END AS Expr1) AS C 
FROM table1 t1 
LEFT JOIN table2 t2 on t2.link = t1.link 

table2に同じリンクのエントリが2つ以上ある場合は、重複するエントリがあります。

別個の結果を得る正しい方法は何ですか? JOINの型はありますか?結果はすべて返されませんが、単一行しか返されませんか?

+0

を注意点としては、あなたが質問を投稿する場合、あなたのコード例が正確であることを確認してください。この例はどのDBMSでも実行できません。 –

答えて

1

SELECT 
distinct 
t.a, 
t.b, 
(SELECT CASE WHEN t2.field IS NULL THEN 0 ELSE 1 END AS Expr1) AS C 
FROM table1 t1 
LEFT JOIN table2 t2 on t2.link = t1.link 
+0

私はとてもばかげています...ありがとうございました:) – Sergejs

+1

@Sergejsわからないときは分かりません:P –

6
select distinct t.a, t.b ... 

は、重複を排除する必要があります、ありがとうございました。あなたは彼らが削除された個別の使用している場合、彼らは、本当に重複している場合

1
SELECT 
    t.a, 
    t.b, 
    CASE WHEN EXISTS (SELECT * FROM table2 t2 WHERE t2.link = t1.link) 
      THEN 1 
      ELSE 0 
    END AS c 
FROM table1 t1 
関連する問題