1

2 つの異なる select 句の等しくない列は、union 句を使用しました。

mysql では、UNION 句を使用した 2 つのクエリの select 句に同じ数の列を定義する必要があります。

したがって、上記を達成するために、私は次のようにしています:

SELECT col1, col2, col3, col4
FROM table1
{whereclause}
UNION
SELECT c1, c2, NULL, NULL
FROM table2
{whereclause}

しかし、いくつかの場所での私のアプリケーションでは、いいえ。最初の select 句の列数は私にはわからないため、ハードコードできませんでし'NULL'た。

1つは一定です。つまり、2番目SELECT clause c1, c2は同じトラウトのままですが'NULL'、select句1の同数の列に一致するようにselect句に追加したいと思います。

どうすれば上記を達成できますか。

前もって感謝します。

4

2 に答える 2

0

うまくいけば、私はあなたを理解しました。

2 つのテーブルからデータを抽出する場合、列の数が同じである必要はありませんが、何か共通点がある必要があります。

一般的な構文は次のようになります。

SELECT table1.col1, table2.col1 FROM table1 LEFT JOIN table2 ON table1.col3=table2.col3 WHERE {where conditions}

ここで重要なのは、データのリンク ビットがあることです。多くの場合、両方のテーブルに共通であり、両方のテーブルで同じことを意味するユーザー番号です。

于 2013-06-12T06:47:46.207 に答える
0

ALIASNULL 列の名前に割り当ててみてください

SELECT col1, col2, col3, col4
FROM table1
{whereclause}
UNION
SELECT c1, c2, NULL as c3, NULL as c4
FROM table2
{whereclause}

各選択で同じ列のデータ型が一致する必要があることに注意してください。

于 2013-06-12T06:48:33.680 に答える