0

私は2つの異なるテーブルを持っています。1 つのテーブルには 70 の列があり、もう 1 つのテーブルには 80 の列があります。2 つのテーブルのすべての列を表示したいと考えています。しかし、同じColumes-nameを持ついくつかのColumesがあります。

元:

SELECT * 
FROM TABLE1 A INNER JOIN
     TABLE2 B ON A.ID = B.ID

ここに画像の説明を入力

カラムがどのテーブルから来たのかを区別したい。

列リストを明示的にリストし、SELECT リストでエイリアスを指定する必要があることはわかっています。

プログラムを変更するにはどうすればよいですか?

他に簡単な方法はありますか。

フィールド名が多すぎるため

4

3 に答える 3

1

列リストを明示的にリストし、SELECT リストでエイリアスを指定する必要があります。

SELECT
    A.ID AS A_ID,
    B.ID AS B_ID
FROM TABLE1 A INNER JOIN
     TABLE2 B ON A.ID = B.ID

ベストプラクティスとして

  • 本番クエリでは使用SELECT *しないでください。常に必要な列を明示的にリストしてください。SELECT * が有害と見なされるのはなぜですか?
  • クエリで複数のテーブルを参照する場合 (2 つのテーブルを結合する場合など)、常にすべてのテーブルにエイリアスを与え、テーブルの列を参照するときにそのエイリアスを使用します。
于 2021-04-19T07:48:10.203 に答える