私は私のシナリオを簡素化します - 私は、これら2つのテーブルを持っている:MySQLでワイルドカード選択列に名前を付けるには?
table_A - id int, id_table_B_one int, id_table_B_two int, name varchar(30)
table_B - id int, name varchar(30), description varchar(30)
をそれから私はこのクエリを持っている:
SELECT
table_A.id, table_A.name, table_B_one.*, table_B_two.*
FROM
table_A
LEFT JOIN table_B table_B_one ON table_A.id_table_B_one = table_B.id
LEFT JOIN table_B table_B_two ON table_A.id_table_B_two = table_B.id
私の問題は、私は同じ名前を持つ3つの列を取得することである(idと名)。私は1つの列のエイリアスを指定するために 'AS'キーワードを使用できることを知っています。ただし、選択した各列を指定する必要がありますが、「*」ワイルドカードを使用する必要があります。
「*」ワイルドカードでエイリアス列名を設定する方法はありますか? 。このような何か:
... table_B_one * table_B_one_ AS * ...
なぜワイルドカードを使用する必要がありますか?あなたが見たいと思っている列をすべて綴ることはできませんか? – SingleNegationElimination
'*'や 'table。*'の代わりに、あなたが選択している列を明示的に指定することをお勧めします。 'SELECT'文でそれらをすべてリストします。 –
TokenMacGuy:SQLクエリーが実際に動的に生成されるため、必要です。私の質問で述べたように、この質問のために非常に簡略化されていますが、私の場合のクエリとその使用法はずっと複雑です – Frodik