gooドクター有料プランが1ヶ月間無料!

SELECT文で、指定カラム以外の全カラムを一括指定って可能でしょうか?
MYSQLサーバのバージョンは5.0.77です。

下記のように「*」を使用して指定テーブルの全カラムを表示する方法がありますが、
SELECT TableName.* FROM TableName

上記の逆で、指定テーブルの指定カラム以外の全カラムを一括指定って可能でしょうか?
例えば下記のような「^」みたいな、又は同等な書き方があれば良いなと思ってまして。
SELECT TableName.^ColumnName1 FROM TableName

ちなみに、下記のように一つ一つ表示したいカラムを指定する方法以外です。
SELECT TableName.ColumnName2 , TableName.ColumnName3 FROM TableName

よろしくお願いします。

gooドクター

A 回答 (3件)

ない。


SQL文でそんなことをするより、メソッドとして作ればいいんじゃないですか。
だいたい、それ以外のカラムの数がわからないし、並びも不明だし。

#1に方と同じで
SELECT * from xxxx
なんてのは正気の人間は書きません。
カラムの数も位置も属性もわからないSQL文の結果をどうやって扱うのか。
    • good
    • 2
この回答へのお礼

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

yambejp様への内容と重複しますが、
すみません。自分の質問の例が悪かったです。

> ない。
はっきりとお答えくださってスッキリしました。

お礼日時:2010/10/27 10:01

結論出てるようですが、あったら便利だと思いました。



プログラムの中でしかSQL書かない人の戯言はほっておいても良さそうですね。
    • good
    • 26
この回答へのお礼

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

> 結論出てるようですが、あったら便利だと思いました。
そうなんです。
やはり、あったら便利だなと自分も思っちゃいます。
客先にて顧客の要望でサクっと出したい時なんか特にそう思います。

お礼日時:2010/10/27 10:11

たぶんないし、表示しても無視すればいいのでは?



逆にSELECT *はまともなSQLユーザーだったらトラブルの元なので使いません。
普通にフィールド名は列記しましょう
    • good
    • 0
この回答へのお礼

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

> たぶんないし、表示しても無視すればいいのでは?
すみません。自分の例が悪かったです。

テーブルを結合した場合、カラム名が重複する場合がありますよね?
その結合が副問い合わせだった場合に、
重複(キー)を無くしてから更に結合しないと矛盾がおきてしまいます。
なので、副問い合わせの段階では簡略化した一括指定を行い、
最終的にカラム表示を指定する問い合わせ部分にのみカラムを列記したかったです。

お礼日時:2010/10/27 09:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング