0

aテーブルとテーブルを結合bして、それぞれのレコードを取得するにはどうすればよいですか? 実際の結合ではありません...これが何と呼ばれているのかわかりません。

したがって、 に 3 つのレコードがaあり、 に 5 つのレコードがあるb場合、8 つのレコードが返されます。

のレコードではa、すべてのbフィールドが null になる可能性があります。のレコードではb、すべてのaフィールドが null になる可能性があります。


編集:私のテーブルには異なるフィールドがあります。

Error Code: 1222. The used SELECT statements have a different number of columns
4

3 に答える 3

2

他の人が言及したように、組合が必要です

SELECT intColumn, varcharColumn, intColumn FROM a
UNION
SELECT intColumn, varcharColumn, 0 FROM b

ただし、同じ数の列が必要であり、データ型も類似している必要があります。

ここにそれについての良いチュートリアルがあります

また、両方のテーブルにない列が必要な場合は、NULL または定数を入力できます。

于 2012-10-12T18:45:29.980 に答える
1

あなたが欲しいUNION

SELECT something FROM a
UNION
SELECT something FROM b
于 2012-10-12T18:35:08.047 に答える
1

これを試して

SELECT * FROM a
LEFT JOIN b ON a.id1 = b.id2
UNION
SELECT * FROM a
RIGHT JOIN b ON a.id1 = b.id2

A と B の ID が異なることを確認してください。

編集:ワーキングフィドル

id2つのテーブルで同じではない他のフィールドを使用することもできます

編集:更新されたフィドル

于 2012-10-12T18:39:19.347 に答える