0

アクセス2010にデータベースがあります。

いくつかのフィールドを持つテーブルがあります。これらのうちの3つは、「入力」、「出力」、および「日付」です。合計数量クエリもあります。

同じ「日付」を持つすべての「入力」値を合計し、同じ「日付」を持つすべての「出力」値も合計したいと思います。

クエリで控除結果(「入力」-同じ「日付」を持つ「出力」)を見つけたい。

私の質問は、同じ「日付」値を持つ異なる挿入をどのように相関させるかです。

何か助けてください?

編集:

input     output      date
  3         0         2/5/2012
  4         0         8/5/2012
  0         2         2/5/2012
  0         1         8/5/2012

クエリを表示したい

available stock     date
   (3-2=) 1       2/5/2012
   (4-1=) 3       8/5/2012

編集済みv2:

私のSQLコードは

 SELECT SUM(warehouse.in_quant)-SUM(warehouse.out_quant) AS SUM, 
 drugs.active_substance, drugs.strength, drugs.strength_type, drugs.dosage_form, 
 warehouse.available_stock, drugs.minimum_quantity, IIf([warehouse]![available_stock]
 [drugs]![minimum_quantity],"YES!","No") AS DiplayText, warehouse.curr_date
 FROM drugs INNER JOIN warehouse ON drugs.ID = warehouse.drug_id;

このメッセージが表示されます:

集計関数の一部として、指定された式「active_substance」を含まないクエリを実行しようとしました。

SUM(warehouse.in_quant)-SUM(warehouse.out_quant)AS SUMを削除すると、正常に機能します。

4

2 に答える 2

1

Go to the query design window, add the relevant tables, drag the fields that you want to match from one table to the next. Test. If it is not what you want, post the sql back here with sample data and an explanation of the problem.

SELECT i.Input-o.Output As Stock, i.Date
FROM (SELECT Input FROM Table
      WHERE Input > 0) i
LEFT JOIN 
     (SELECT Output FROM Table
      WHERE Output > 0) o
ON i.Date = o.Date

You will probably need something more complicated, but this should be a start, hopefully.

Re comments

SELECT drugs.active_substance, 
       drugs.strength, 
       drugs.strength_type, 
       drugs.dosage_form, 
       warehouse.available_stock, 
       drugs.minimum_quantity, 
       warehouse.curr_date,
       SUM(warehouse.in_quant)-SUM(warehouse.out_quant) AS SUMQty
FROM drugs 
INNER JOIN warehouse ON drugs.ID = warehouse.drug_id
GROUP BY drugs.active_substance, 
       drugs.strength, 
       drugs.strength_type, 
       drugs.dosage_form, 
       warehouse.available_stock, 
       drugs.minimum_quantity, 
       warehouse.curr_date
于 2012-05-31T14:48:13.427 に答える
1

I'm not quite sure what your asking but to sum values by a date you should use the group by clause

SELECT SUM(input) - SUM(output) as 'Input - Output', date 
FROM myTable 
GROUP BY date

Here is an example of it what I think your trying to do.

于 2012-05-31T14:48:49.260 に答える