0

次の 3 つの列を返すいくつかのクエリ (20 以上) があります。

Building | Room | Other

これらはすべてテキスト フィールドです。これらのクエリをすべて取得して結合したいと思います。そのため、クエリが全体として何を返すかを確認したいと思います。

たとえば、 とSELECT Building, Room, Other FROM tblOne WHERE Room=10一緒にクエリを実行した場合SELECT Building, Room, Other FROM tblOne WHERE Building=20、これら 2 つを 1 つに結合するにはどうすればよいでしょうか? 明らかに、これは非常に単純な例であり、私の実際のクエリははるかに複雑であるため、1 つのクエリとして記述することは現実的ではありません。

上記の例を出力したいと思います:

Building | Room | Other
```````````````````````
20       |  1   | Some Stuff
20       | 10   | Some More
5        | 10   | Some Other
15       | 10   | Some Extra
20       |  5   | Some Text

私が試したすべての方法で、「建物、部屋、その他が複数のテーブルを参照する可能性があります」というエラーが発生しました(別名、それらを1つの見出しの下に結合したくありません)。これを修正する SQL 構文は何ですか?

4

2 に答える 2

2
  SELECT Building, Room, Other FROM tblOne WHERE Room=10 
  UNION ALL
  SELECT Building, Room, Other FROM tblOne WHERE Building=20
于 2012-06-26T18:31:50.120 に答える
0

この 2 つのクエリを UNION ALL && UNION の助けを借りて結合します。

クエリ 1

SELECT Building, Room, Other FROM tblOne WHERE Room=10 
UNION ALL
SELECT Building, Room, Other FROM tblOne WHERE Building=20

クエリ 2

SELECT Building, Room, Other FROM tblOne WHERE Room=10 
UNION
SELECT Building, Room, Other FROM tblOne WHERE Building=20

知らせ

UNION 演算子は、2 つ以上の SELECT ステートメントの結果セットを結合するために使用されます。

UNION 内の各 SELECT ステートメントは、同じ数の列を持つ必要があります。列も同様のデータ型である必要があります。また、各 SELECT ステートメントの列は同じ順序である必要があります。

UNION 演算子は、デフォルトで個別の値のみを選択します。重複する値を許可するには、UNION ALL を使用します。

于 2012-06-26T18:36:12.730 に答える