複数のテーブルにまたがる大量のデータを保持する mysql テーブルがあります。したがって、すべてを理解するには、UNION句を使用するのが最善の策だと思いますが、複数の値を持つものとnullのものがあるため、結果がどのテーブルからのものかを知りたいです。
次のSQLは機能していないように見えますが、何が問題なのかわかりません。
(SELECT *, `2` AS 'cat' from `2` where `recid` = 'cneta0ld00ah')
UNION
(SELECT *, `3` AS 'cat' from `3` where `recid` = 'cneta0ld00ah')
UNION
(SELECT *, `4` AS 'cat' from `4` where `recid` = 'cneta0ld00ah')
UNION
(SELECT *, `5` AS 'cat' from `5` where `recid` = 'cneta0ld00ah')
すべてのテーブルは次のように表示され、1、2、3、4 などの名前が付けられます。
recid | item
-------------------------
cneta0ld00ah | 1
cneta0ld00ab | 1
cneta0ld00ad | 3
データを変換して抽出しようとしている非常に古いデータベースからのインポートであるため、テーブルの名前を変更できません。
「table-name」AS「cat」なしで実行すると、正常に実行されます。テーブル名を追加しようとするとすぐに、エラーがスローされます
Unknown column '2' in 'field list'
2 は列名だと思っているようですが?