1

UNIONを使用して2つのテーブルからレコードを取得したいとしましょう。各レコードにフィールドを追加して、それがどのテーブルに属しているかを知るにはどうすればよいですか? それはちょうどこのようなものです:

id     |    title     | link            | table
-----------------------------------------------------
1      | Title 1      | somelink.html   | articles1
2      | Title 2      | link2   .html   | articles2
3      | Title 3      | link3   .html   | articles1

前もって感謝します?

4

3 に答える 3

3
select some_column, 'union_1' as from_where
from table1
union 
select some_column, 'union_2' as from_where
from table2
于 2013-09-04T06:56:11.280 に答える
1

次のようなものを試すことができます

SELECT Col1, Col2, 'Table1' TableSource
FROm Table1
UNION ALL
SELECT Col1, Col2, 'Table2' TableSource
FROm Table2

これは では機能しますが、UNION ALLを使用すると誤解を招く可能性がありUNIONます。これは、ソース列を区別するために重複が含まれるためです。

于 2013-09-04T06:56:18.870 に答える
1

次のように UNION に入れるだけです。

SELECT *, 'articles1' AS table_name FROM articles1
UNION ALL
SELECT *, 'articles2' AS table_name FROM articles2
于 2013-09-04T06:56:27.637 に答える