2017-12-05 14 views
0

mysqlでunionを使用するときにレコードを含むテーブル名が必要です。 私はそのテーブルからレコードを削除したい、または私はすべてのテーブルを通過し、レコードを見つけて手動で削除する必要があります。mysqlでunionを使用するときにどのテーブルがレコードを含むかを調べる方法

クエリ:

SELECT id FROM table1 WHERE cfid='2' 
UNION 
SELECT id FROM table2 WHERE ob_id='2' 
UNION 
SELECT id FROM table3 WHERE jid='2' 
+0

スタックオーバーフローへようこそ。 [良い質問をするにはどうすればいいですか?](https://stackoverflow.com/help/how-to-ask)と[ここではどのような話題がありますか?](https://stackoverflow.com/help)をお読みください。/on-topic)。研究、何かを試し、あなたのコードを追加し、あなたの問題を指摘してください。 – pirho

+0

ここによくあるサンプルSELECT id FROM table1 WHERE cfid = '2' UNION SELECT id FROM table2 WHERE ob_id = '2' UNION SELECT id FROM table3 WHERE jid = '2' 。 – Amaan

答えて

1

は、それぞれに別個のハードコード値と、個々のSELECT文で識別子列を含みます。一例として、我々は我々がSELECTは、特定の行を戻したかを決定するために、その列に返された値を使用することができます...各クエリに

SELECT '1' AS src_, foo FROM bar WHERE ... 

UNION ALL 

SELECT '2' AS src_, grumblestilt FROM skin WHERE ... 

src_という名前の列を追加します。

注:重複する行を削除する必要がない場合は、UNION ALL集合演算子を使用できます。 UNIONオペレータは、重複している行を特定し、重複を排除して一意のタプルを含む結果セットを取得する作業を行います。

関連する問題