AS aをSELECTし、bがテーブル内の列ではない場合、クエリは「仮想」列を作成しますか?
実際、クエリに仮想列を組み込み、クエリに情報を処理して、後で各アイテムで使用できるようにする必要があります。
何かのようなもの
SELECT id, email, IF(actived = 1, 'enabled', 'disabled') AS account_status
FROM users
これにより、操作を行い、列として表示できます。
編集:
結合を使用して、列として操作を表示することもできます。
SELECT u.id, e.email, IF(c.id IS NULL, 'no selected', c.name) as country
FROM users u LEFT JOIN countries c ON u.country_id = c.id
Selectステートメント内に仮想列「年齢」を作成する場合は、これを試してください。
select brand, name, "10" as age from cars...
仮想列を次のように追加できます
SELECT '1' as temp
ただし、追加の列にwhere条件を設定しようとすると、機能しなくなり、列が存在しないためエラーメッセージが表示されます。
Sqlの結果をtable.ieとして返すことにより、この問題を解決できます。
SELECT tb.* from (SELECT 1 as temp) as tb WHERE tb.temp = 1
SELECTはデータベースからデータを取得するだけで、テーブル自体は変更しません。
書いたら
SELECT a AS b FROM x
「b」はクエリ内の単なるエイリアス名です。余分な列は作成されません。この例の結果には、「b」という名前の列が1つだけ含まれます。ただし、表の列は「a」のままです。 「b」は単なる別の名前です。
「後で各項目で使用できるように」とはどういう意味か本当にわかりません。 selectステートメントの後のほうを意味しますか、それともアプリケーションの後の方を意味しますか。おそらく、いくつかのサンプルコードを提供できます。
構文では、aのエイリアスとしてbを作成しますが、ステートメントの結果を超えるスコープはありません。 [〜#〜] view [〜#〜] を作成したいようです