人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQLについて質問です(MySQL)
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

このように一つ一つフィールドを指定する方法しかないのでしょうか?
存在するフィールドを「まとめて全部」指定する方法があれば教えてください。


●質問者: tokyosmash
●カテゴリ:インターネット ウェブ制作
✍キーワード:as MySQL name SELECT SQL
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● kurukuru-neko
●15ポイント

>このように一つ一つフィールドを指定する方法

>しかないのでしょうか?

基本的には全て指定するしかない。

重複してもよいなら*を使う。

SELECT name AS namae,* FROM table_a

◎質問者からの返答

回答ありがとうございます。

>SELECT name AS namae,* FROM table_a

こちらは最初に試してみたのですがうまくいかないのです。MySQL5で使える書式なのでしょうか?DBによってSQL書式が微妙に違うと思うのですが・・


2 ● b-wind
●15ポイント

MySQL AB :: MySQL 4.1 リファレンスマニュアル :: 6.4.1 SELECT 構文

ありません。DB にも寄りますが。

毎回指定するのが面倒なら VIEW を作成しておきましょう。


MySQL AB :: MySQL 5.0 Reference Manual :: 19.2 CREATE VIEW Syntax

◎質問者からの返答

回答ありがとうございます。

VIEWはイマイチ使い方がわかっていません。

今後勉強してみようと思います。


3 ● ito-yu
●15ポイント

SELECT name AS namae,table_a.* FROM table_a;

とテーブル名を指定すればOK

◎質問者からの返答

回答ありがとうございます。

今回はchuken_kenkouさんの方法で解決しました。


4 ● chuken_kenkou
●100ポイント ベストアンサー

実機確認して見たところ、「*」の後に列名を記述する場合はエラーにならないようです。

SELECT *,name AS namae FROM table_a

列名の後に「*」を記述する場合は、表名で修飾すればエラーになりません。

SELECT name AS namae,table_a.* FROM table_a
◎質問者からの返答

ありがとうございます。

>「*」の後に列名を記述する

こちらで出来ました。

逆にするだけなんですね。


この辺はDBによって微妙に仕様が違うのでしょうか。何はともあれみなさんありがとうございました。無事に解決できました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ