Date: Mon, 25 Jul 2005 18:07:19 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です。
-----Original Message-----
From: Kohichiroh Ohta [mailto:who@example.co.jp]
Sent: Monday, July 25, 2005 2:11 PM
To: who@example.ne.jp
Subject: [ml-msde-beg:01553] Re: SQL の記述について
>「売上」と「売上明細」に
>分けた方が良いということでしょうか?
最初に例示されたテーブルの列構成が、
少々おかしいのでは?
という意味です。
そのおかしい状態を修正せよ!とは、強制はしておりません。
>もっと単純な例に変えてみます。
>例えばここに「備考」というテーブルが
>あったとします。デザインは
>---- 備考 ----
>備考ID int not NULL IDENTITY
>得意先ID int
>日付 datetime
>備考 nvarchar(100)
>
>各得意先IDの最も新しい日付の備考を抽出する
>SQLはどのように記述すれば良いですか?
ご自分では、どのようなSQL文を考えられましたか?
上巻125,126ページ付近が参考になると思います。
>(前のメール)
>SELECT 売上.*
>FROM 売上
>INNER JOIN (
> SELECT
> 得意先ID
> MAX(売上ID) AS 売上ID
> FROM 売上
> WHERE 商品コード = 10
> GROUP BY 得意先ID
>)AS URI
>ON 売上.売上ID = URI.売上ID
このような難しい表現(テーブル名を記述するところに、SELECT文
によるレコードセットを持って来る)ができるのに、何で、検索条件に
サブクエリを与えるSQL文が書けないのでしょうか?
通常、初学者向けの教科書では、
検索条件にサブクエリを記述する
ということは学びます。
しかし、テーブル名が来るべきところに
SELECTのサブクエリを書く
ということは、ほとんど触れません。
私の上巻の書籍でも、124ページに、ちょっと触れただけです。
>これもやはりテーブルの設計に
>誤りがあるのでしょうか?
このままで、構いません
------------------------------------
(株)日本技術ソフト開発
堀川 明 (Akira Horikawa)
07月25日(月曜日) 18時05分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|