アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記テーブルで登録NOの若い順に項目の種類分値をとりだしたいのですが
どのようにSQLを書けばいいでしょうか。

テーブル
項目................|登録NO
----------------------------------------------------------------
オルタネータ................|TOUROKU00110
オルタネータ................|TOUROKU00111
オルタネータ................|TOUROKU00112
オルタネータ................|TOUROKU00113
ミッション.......................|TOUROKU00100
ミッション.......................|TOUROKU00101
イグニッションコイル|TOUROKU00099
イグニッションコイル|TOUROKU00098


抽出結果

イグニッションコイル|TOUROKU00098
ミッション.......................|TOUROKU00100
オルタネータ................|TOUROKU00110

環境
OS:Windows XP
DB Microsoft Sqlserver

A 回答 (3件)

DISTINCTではありませんが・・・


GROUP BY でなら

SELECT 項目,MIN(登録NO)
FROM テーブル
GROUP BY 項目

この回答への補足

ご回答ありがとうございます。
ためしてたのですが登録NOが文字列のため下記結果になります。

オルタネータ.................|TOUROKU00110
イグニッションコイル|TOUROKU00098
ミッション.........................|TOUROKU00100

補足日時:2009/02/10 16:16
    • good
    • 0

No1の者です。


最終的に登録NO順で並べるのですね
であれば

SELECT 項目,MIN(登録NO)AS 登録NO
FROM テスト
GROUP BY 項目
ORDER BY 登録NO

でいかがでしょう?

この回答への補足

一時的にMicrosoft Sqlserverが使えないのでAccessでためしているのですが下記メッセージでエラーになるのですが
”クエリ定義のSEECTで指定されている別名'登録NO'が循環参照を発生させています"

Accessだからでしょうか?

補足日時:2009/02/10 17:07
    • good
    • 0

横からですが


SELECT 項目,MIN(登録NO)AS 登録NO
FROM テスト
GROUP BY 項目
ORDER BY MIN(登録NO)
でいけます。

この回答への補足

回答ありがとうございます。
"AS 登録NO"のところを"AS AAA"とか適当名前にしたらなりました。

後出しで申し訳ありませんがこのSQLに条件を付けるのはかのうでしょうか。

Where 場所="エンジン" AND 登録日="H120101"



項目................................|登録NO.........................場所........登録日
----------------------------------------------------------------
オルタネータ................|TOUROKU00110....エンジン....H120101
オルタネータ................|TOUROKU00111....エンジン....H120101
オルタネータ................|TOUROKU00112....エンジン....H120101
オルタネータ................|TOUROKU00113....エンジン....H120101
ミッション.......................|TOUROKU00100....エンジン....H120101
ミッション.......................|TOUROKU00101....エンジン....H120101
イグニッションコイル|TOUROKU00099....エンジン....H120101
イグニッションコイル|TOUROKU00098....エンジン....H120101

補足日時:2009/02/12 09:13
    • good
    • 0
この回答へのお礼

自己解決しました。
SELECT * FROM (SELECT 場所,登録日,項目, MIN(登録NO)
FROM テーブル
GROUP BY 項目,場所,登録日) WHERE 登録日="H120101" AND 場所="エンジン"

ありがとうございました。

お礼日時:2009/02/12 09:26

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

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