1

私はテーブルを持っていますABそしてC。現在、テーブルはAA1(主キー) として、テーブルBには列B1(主キー) があり、テーブルCには列A1(テーブルへの外部キーA.A1)、B1(テーブルへの外部キーB.B1) があります。

今、テーブルで一致する行が見つかった場合は 1 に設定され、それ以外の場合は 0に設定されるビット列とAからのすべての行をリストするクエリを作成しています。BC

SELECT 
     ISNULL((SELECT CAST(1 AS BIT) 
             FROM C 
             WHERE C.A1 = A.A1 AND C.B1 = B.B1),0) AS [TAG],
     A.A1,
     B.B1
FROM A CROSS JOIN B

列と列Subquery returned more than 1 value.を結合した後、クエリに重複する行がないにもかかわらず、このクエリはエラーを生成しています。A1B1

4

1 に答える 1

2

これを試して、

SELECT  CAST(COALESCE(c.b1, 0) AS BIT)   TAG
FROM
        (
            SELECT  A1, B1
            FROM    A CROSS JOIN B
        ) D LEFT JOIN C
                ON  c.A1 = d.A1 AND
                    c.B1 = D.B1
于 2012-11-07T06:14:07.427 に答える