- ベストアンサー
SQL文の書き方について
SQLServer2005で、次のような品物の単価の履歴を表すテーブルを作りました。「,」は列の区切りです。 ID,Sort,Name,Price,Effective,Time 1,1,りんご,100,True,2009/4/1 2,3,なし,120,True,2009/4/1 3,2,ぶどう,150,True,2009/4/1 4,4,ばなな,80,True,2009/4/1 5,1,りんご,110,True,2009/4/20 6,3,なし,100,True,2009/4/20 7,3,なし,90,True,2009/4/25 8,4,ばなな,False,2009/4/25 このテーブルから、Effectiveが、Trueで、最新の単価をSort順に抽出するSQL文が判りません。 SELECT * FORM テーブル名 WHERE (Effective=1) ORDER BY Sort に、何を加えれば実現可能でしょうか? どなたか?詳しい方がいらっしゃいましたら、教えてください。 SQL文の初心者なので、簡単なことなんでしょうが、よろしくお願いいたします。入門書を読めば読むほど、こんがらかって、困っております。なお、Sortの部分は、正規表現的に問題があるので、見直そうと考えています。
お礼
早速のお返事ありがとうございます。 ご指導の通り、相関サブクエリの処理で実現できました。 但し、まねて書いてみてできただけなので、私自身は、理解できていません。折角、3種類もご指導頂いたので、じっくり勉強して、自分のものにしていきたいと、思います。 同じ結果でも、色々な方法があるのも、びっくりしています。 本当に、ありがとうございました。今後もよろしくお願いします。