web-dev-qa-db-ja.com

一般的な列との内部結合で*を選択します

内部結合を実行する3つのテーブル(mysql db)があります。問題は、これらのテーブルに共通の列があることです。エイリアスを使用してそれらを区別できることを知っています(select A.x as Ax, B.x as Bx, C.c as Cx ...)しかし、これには列をリストする必要があります。ただし、実際にはオプションではありません。テーブルのすべての列に一度にエイリアスを与える方法はありますか?

何かのようなもの select a.* as a*

3
Chris

すべての列を自分で指定する必要があります。

例:テーブルの国と市の両方に名前列があります

SELECT 
    a.Name AS CountryNane, b.Name AS CityName, c.*
FROM
    Country a
        JOIN
    City b ON a.Code = b.CountryCode
        JOIN
    CountryLanguage c ON a.Code = c.CountryCode;
4
Abdul Manaf

フィールドにエイリアスを割り当てる場合は、SELECTステートメントのリストフィールドでそのフィールドを明示する必要があります。

したがって、3つのテーブルに共通名フィールドがある場合は、明示する必要があります。

このような表記を使用する場合SELECT a.* ...エイリアステーブルのすべてのフィールドを表示しますが、ヘッダー列のフィールド名はテーブル構造と同じです。

1
Joe Taras