SELECT文におけるフィールド指定の方法です。
SELECT * FROM table_a
これでtable_aの全てのフィールドを選択できますよね。
SELECT name AS namae FROM table_a
これでnameというフィールドをnamaeという名前にできます。この場合、他のフィールドも取得したい場合は
SELECT name AS namae,age,address FROM table_a
このように一つ一つフィールドを指定する方法しかないのでしょうか?
存在するフィールドを「まとめて全部」指定する方法があれば教えてください。
実機確認して見たところ、「*」の後に列名を記述する場合はエラーにならないようです。
SELECT *,name AS namae FROM table_a
列名の後に「*」を記述する場合は、表名で修飾すればエラーになりません。
SELECT name AS namae,table_a.* FROM table_a
>このように一つ一つフィールドを指定する方法
>しかないのでしょうか?
基本的には全て指定するしかない。
重複してもよいなら*を使う。
SELECT name AS namae,* FROM table_a
回答ありがとうございます。
>SELECT name AS namae,* FROM table_a
こちらは最初に試してみたのですがうまくいかないのです。MySQL5で使える書式なのでしょうか?DBによってSQL書式が微妙に違うと思うのですが・・
MySQL AB :: MySQL 4.1 リファレンスマニュアル :: 6.4.1 SELECT 構文
ありません。DB にも寄りますが。
毎回指定するのが面倒なら VIEW を作成しておきましょう。
MySQL AB :: MySQL 5.0 Reference Manual :: 19.2 CREATE VIEW Syntax
回答ありがとうございます。
VIEWはイマイチ使い方がわかっていません。
今後勉強してみようと思います。
SELECT name AS namae,table_a.* FROM table_a;
とテーブル名を指定すればOK
回答ありがとうございます。
今回はchuken_kenkouさんの方法で解決しました。
実機確認して見たところ、「*」の後に列名を記述する場合はエラーにならないようです。
SELECT *,name AS namae FROM table_a
列名の後に「*」を記述する場合は、表名で修飾すればエラーになりません。
SELECT name AS namae,table_a.* FROM table_a
ありがとうございます。
>「*」の後に列名を記述する
こちらで出来ました。
逆にするだけなんですね。
この辺はDBによって微妙に仕様が違うのでしょうか。何はともあれみなさんありがとうございました。無事に解決できました。
ありがとうございます。
>「*」の後に列名を記述する
こちらで出来ました。
逆にするだけなんですね。
この辺はDBによって微妙に仕様が違うのでしょうか。何はともあれみなさんありがとうございました。無事に解決できました。