76

SELECT a AS b を実行し、b がテーブル内の列ではない場合、クエリは「仮想」列を作成しますか?

実際、後で各項目で使用できるように、いくつかの仮想列をクエリに組み込み、いくつかの情報をクエリに処理する必要があります。

4

7 に答える 7

99

何かのようなもの:

SELECT id, email, IF(active = 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
于 2009-01-18T15:01:06.633 に答える
70

selectステートメント内に仮想列「age」を作成する場合は、これを試してください。

select brand, name, "10" as age from cars...
于 2011-07-09T09:42:27.917 に答える
3

SELECTはデータベースからデータを取得するだけで、テーブル自体は変更しません。

あなたが書くなら

SELECT a AS b FROM x

「b」は、クエリ内の単なるエイリアス名です。余分な列は作成されません。この例の結果には、「b」という名前の列が1つだけ含まれています。ただし、テーブルの列は「a」のままになります。「b」は単なる別名です。

「後で各アイテムで使えるように」とはどういう意味かよくわかりません。後でselectステートメントの後半を意味しますか、それともアプリケーションの後半を意味しますか。おそらく、いくつかのサンプルコードを提供できます。

于 2009-01-18T15:07:24.687 に答える
0

あなたの構文はaのエイリアスをbとして作成しますが、ステートメントの結果を超えるスコープはありません。ビューを作成したいようです

于 2009-01-18T15:08:08.583 に答える