• ベストアンサー

当年度の商品別の棚卸し状況を表示したい。

商品テーブル  商品コード  商品名 棚卸履歴テーブル  商品コード  棚卸日 棚卸履歴テーブルより当年データのみを抽出したテーブルと商品テーブルとを突き合わせを行う。  (1)棚卸テーブルよりいつ実施しても当年の4月1日以降を抽出する記述方法がわかりません。  (2)多段クエリの記述方法がわかりません。 上記テーブルを例をもとに記述方法を教えて頂けないでしょうか? 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

すみません、sqlserverでしたね、それでは select * from 棚卸履歴テーブル where 棚卸日 >= convert(varchar(4),getdate(),121) + '-4-1'; か select * from 棚卸履歴テーブル where 棚卸日 >= convert(varchar(4), case when month(getdate())<=3 then year(getdate()) - 1 else year(getdate()) end,121) + '-4-1'; を試してください。

maruo794
質問者

お礼

回答ありがとうございました。 no1の回答とno2の回答を組み合わてクエリーを作成すれば、私の求めていた実行結果を得られました。 完璧な回答でした。心から感謝致します。 お礼が遅くなり失礼致しました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

>(1)棚卸テーブルよりいつ実施しても当年の4月1日以降を抽出する記述方法がわかりません。 「当年」の意味が曖昧です。 例えば200/2/1の場合 2000/4/1からのデータを抽出するのか、1999/4/1からのデータを抽出するのかどちらでしょう。 前の場合は select * from 棚卸履歴テーブル where 棚卸日 >= concat( year(current_date()), '-4-1' ); でいいでしょう。 後者だと、 select * from 棚卸履歴テーブル where 棚卸日 >= concat( case when month(current_date())<=3 then year(current_date()) - 1 else year(current_date()) end, '-4-1' ); でしょうか。 >(2)多段クエリの記述方法がわかりません。 これも「多段クエリ」の意味が分かりません。 単純にJOINするなら SELECT 棚卸履歴テーブル.商品コード, 商品テーブル.商品名,棚卸履歴テーブル.棚卸日 FROM 棚卸履歴テーブル INNER JOIN 商品テーブル ON 棚卸履歴テーブル.商品コード = 商品テーブル.商品コード AND 棚卸履歴テーブル.棚卸日 >= concat( year(current_date()), '-4-1' ); ではだめですか

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Access2000でフォームのボタンクリックでデータをテーブルやクエリに保存できる?

    初心者なので過去ログを見たのですが、よくわからず質問させていただきます。 もし、似たような質問があったらすいません。 Access2000で、抽出したデータを指定した書式で印刷したいのですが、抽出条件がかなり複雑なので、一度テーブルもしくはクエリに保存して、そのテーブルもしくはクエリをもとにフオームを作ろうと考えているのですが、データの抽出後にフォームのボタンをクリックしてテーブルやクエリに保存することはできるのでしょうか? できるとしたら、どうやるのでしょうか? やりかたがわからないので、まだ自分でコード記述していません。具体的な質問になっていないのですが、おわかりになる方よろしくお願いします。

  • 履歴を持つ商品マスターの取出し方

    逆引クエリーでも見つからなかったので 質問させて頂きます。 コード | 年月 | 価格 1 | 2006/12 | 100 * 2 | 2006/6 | 1000 2 | 2006/9 | 1200 2 | 2006/12 | 1500 * 3 | 2006/8 | 2200 3 | 2006/12 | 2000 * 4 | 2006/8 | 50 * 上記のように履歴を持った商品マスターがある場合、 直近のマスター (*のデータ) をクエリーで取出したい 場合は、クエリーデザインで抽出できますでしょうか。 もしくは、いくつかのクエリーを組み合わせてなど。 社内には、アクセスの有識者がいないため、行き詰まっており よろしくお願い致します。

  • アクセス2003 クエリで年度・商品別にまとめたい

    いつもお世話になっています。 下記のような仕入記録テーブルがあったとします。 仕入年月日 | 商品名 | 数量 | 単価 | 2006/04/05   AAA    10     100 2006/07/12   BBB    5      280 2006/11/03   AAA    15     120 2007/02/19   BBB    5      230 2007/04/02   AAA    10     150 2007/05/10   BBB    15     250 この時、年度毎の最終仕入額を商品別に出したいのですがクエリはどのように作ればいいのでしょうか? 以前質問させていただいて商品別の最終仕入日を出すこと(Max関数使用)はできたのですが、これを年度別に分ける方法がわかりません。 年度自体はDatePart("yyyy",DateAdd("m",-3,[仕入年月日]))で出したらいいんですよね? クエリをいくつかの段階に分けて作らないとダメなんでしょうか? ご指導よろしくお願いします。

  • 棚卸資産の計上

    商品が6月30日出荷、7月1日着の商品があります。仕入先は着日基準で7月1日に伝票を上げてきます。私どもの会社は出荷基準で計上しているため、仕入れ先に6月30日で伝票をあげてくれないかと相談したところシステム上できないと断られました。この場合、7月1日付で当社も仕入計上し棚卸には上げないことにするか、送り状等をもとに6月30日で仕入計上し、棚卸計上するか。どちらがただしいのでしょうか?

  • クエリの抽出方法について

    Ms-Accessのクエリの抽出条件の記述方法に関する質問です。 そもそも不可能なことかもしれないのですが、質問させていただきます。 T_時間割:年度、科目キー、曜日コード、時限コード、教員コード、・・・ T_科目:年度、科目キー、単位、・・・ T_教員:教員コード、教員名、・・・ cd曜日:曜日コード、曜日名称、・・・ cd時限:時限コード、時限名称、・・・ といったテーブルをもとにクエリを作成します。 1行目の抽出条件:曜日コード:1 2行目の抽出条件:単位:2 とし、3行目の抽出条件にクエリのもとになっていないテーブル ↓↓ T_受講者なし科目:年度、科目キー、・・・ の科目キーを指定したいのですが、どうにも抽出条件の記述方法がわかりません。 DLookUpを使うと、「T_受講者なし科目」の1行目のフィールド値のみが抽出条件となってしまいます。 「T_受講者なし科目:科目キー」の全てのフィールド値を抽出条件とする場合、どのようにすればいいのでしょうか?? よろしくお願いいたします。

  • access2003初心者です。50商品の在庫管理をしています。

    access2003初心者です。50商品の在庫管理をしています。 作成したのは ・商品テーブル(商品コード、商品名) ・受注テーブル(日付、商品コード、個数) です。 受注テーブルには受注があった商品のデータしか入力していません。 しかしレポートでは、すべての商品を並べて 「受注がない商品については、数量を0」 としてレポートを作成したいと考えています。 レポートを作成するには、「元となるテーブルやクエリが必要になってくる」と本に書いてあったのですが、 この元となるクエリを作成することができません。 作成したいクエリは次のとおりです。   日付   商品 個数 2008/04/01 商品01 2 2008/04/01 商品02 0←このデータ(日付、商品、個数)は受注テーブルにはありません。以下同じ。 ・ ・ ・ ・ ・ ・ 2008/04/01 商品50 2 2008/04/02 商品01 1←ここから日付が翌日になります。 2008/04/02 商品02 1 ・ ・ ・ ・ ・ ・ 2008/04/02 商品50 0 2008/04/03 商品01 2←ここから日付が翌々日になります。 2008/04/03 商品02 2 ・ ・ ・ ・ ・ ・ データがないものに対して、 自動で日付を入力したり、個数を0にしたりしたいのですが、 どのような抽出条件またはSQLなどを書いたらいいのかわかりません。 よろしくお願いします。

  • ACCESSのクエリーで

    ACCESSのクエリで たとえば下記のテーブルがあったとき コード 品名 1   商品001 3   商品003 4   商品A 7   商品BB と有ったときACCESSのクエリで 1   商品001 2 3   商品003 4   商品A 5 6 7   商品BB のようにテーブルに無いコードのところは空番にしないで 番号をだけを付けるのは可能でしょうか? もとのテーブルはいじりたくないので・・・ もし、やり方が有るならば教えてください

  • 空白があるとクエリで表示されない

    アクセスで設備の修理履歴を管理するデータベースを作成しています。 修理履歴テーブルがあり、その他、 実施区分、設備、修理タイプ、 処置区分、トラブルコードはそれぞれテーブルを作成し、 リレーションシップを組んでいます。 T_修理履歴 修理ID(オートナンバー) 発生日 実施区分ID 担当者 設備ID 作業時間 修理タイプID 処置区分ID トラブルコードID T_実施区分 実施区分ID  001   002 実施区分名  実施済 未実施 T_修理タイプ 修理タイプID  001  002 修理タイプ  突発  予防 他のテーブルも同様に作成しています。 修理依頼を受け、修理ID~設備IDまでを入力、 修理を実施した後、作業時間~トラブルコードまでを入力する形式を 取りたいのですが、作業時間から下が空白のままだと、 未実施データを抽出するクエリを作成しても、 データが表示されません。 リレーションシップに問題があるのでしょうか? ご指導よろしくお願い致します。  

  • Accessクエリの抽出条件

    Access2000を使用しています。 クエリの抽出条件にテーブルの値を使用したいのですが、その方法がわかりません。 テーブルAには、「日付」、「当者コード」 などの項目があります。 テーブルBの項目は「担当者コード」のみです。また、1レコードしか登録 されていません(2レコード以上になることはありません)。 そこで、テーブルAに対するデータ抽出条件を、テーブルBの「担当者」としたいのですが、 どのように記述すればよろしいでしょうか・・・? よろしくお願いします。

  • 【Access2003】ふたつのテーブルで共通するもの”以外”を抽出する

    1万件くらいの「商品コード一覧」テーブルがあります。 そのなかから、特定の商品コードを除外したいです。 今までは「商品コード」のフィールドの抽出条件に <>"AAAA" And <>"BBBB"And <>・・・ と入力してきたのですが、 除外したい商品コードがかなり増えてきたので、 これをテーブル化して、 「商品コード一覧」テーブルと「除外対象商品コード一覧」テーブルで 一致しないものを抽出するようなクエリを作成したいと思うのですが・・・ そのようなことは可能でしょうか? すでに出た質問かもしれないのですが、 探し方が下手で見つかりませんでした。 よろしくお願いいたします!