私の説明が十分であることを願っています。私は重要でないすべてのフィールドを削除しようとしました。MS Access SQLが異なるテーブルから結果を取得し、日付でソートする
私は5つのテーブル(顧客、請求書、アイテム、Invoice_Item、支払いを)持っている:
カスタマー・フィールドとサンプルの日付は、次のとおりです。
+----+------+
| ID | Name |
+----+------+
| 1 | John |
| 2 | Mary |
+----+------+
請求書のフィールドとサンプルの日付は、次のとおりです。
+----+-----------+----------+------+
| ID | Date | Customer | Tax |
+----+-----------+----------+------+
| 1 | 1.1.2017 | 1 | 0.10 |
| 2 | 2.1.2017 | 2 | 0.10 |
| 3 | 3.1.2017 | 1 | 0.10 |
| 4 | 3.1.2017 | 2 | 0.10 |
| 5 | 8.1.2017 | 1 | 0.10 |
| 6 | 11.1.2017 | 1 | 0.10 |
| 7 | 12.1.2017 | 2 | 0.10 |
| 8 | 13.1.2017 | 1 | 0.10 |
+----+-----------+----------+------+
項目フィールドとサンプルデータは次のとおりです。
+----+--------+
| ID | Name |
+----+--------+
| 1 | Door |
| 2 | Window |
| 3 | Table |
| 4 | Chair |
+----+--------+
Invoice_Itemフィールドとサンプルデータは、次のとおりです。それは顧客の特定の価格であるため、価格は項目テーブルで、このテーブルにない
+------------+---------+--------+------------+
| Invoice_ID | Item_ID | Amount | Unit_Price |
+------------+---------+--------+------------+
| 1 | 1 | 4 | 10 |
| 1 | 2 | 2 | 20 |
| 1 | 3 | 1 | 30 |
| 1 | 4 | 2 | 40 |
| 2 | 1 | 1 | 10 |
| 2 | 3 | 1 | 15 |
| 2 | 4 | 2 | 12 |
| 3 | 3 | 4 | 15 |
| 4 | 1 | 1 | 10 |
| 4 | 2 | 20 | 30 |
| 4 | 3 | 15 | 30 |
| 5 | 1 | 4 | 10 |
| 5 | 2 | 2 | 20 |
| 5 | 3 | 1 | 30 |
| 5 | 4 | 2 | 40 |
| 6 | 1 | 1 | 10 |
| 6 | 3 | 1 | 15 |
| 6 | 4 | 2 | 12 |
| 7 | 3 | 4 | 15 |
| 8 | 1 | 1 | 10 |
| 8 | 2 | 20 | 30 |
| 8 | 3 | 15 | 30 |
+------------+---------+--------+------------+
理由があります。
支払フィールドは、次のとおりです。
+----------+--------+-----------+
| Customer | Amount | Date |
+----------+--------+-----------+
| 1 | 40 | 3.1.2017 |
| 2 | 10 | 7.1.2017 |
| 1 | 60 | 10.1.2017 |
+----------+--------+-----------+
ので、私のレポートは、特定の顧客のために(いずれかの請求書や支払から)DATEですべてのテーブルとソートを組み合わせなければなりません。
です。顧客のためのように、ジョンは(1)それは次のようになります。それは、日付でソートされ
+------------+----------------+---------+-----------+
| Invoice_ID | Invoice_Amount | Payment | Date |
+------------+----------------+---------+-----------+
| 1 | 171 | - | 1.1.2017 |
| 3 | 54 | - | 3.1.2017 |
| - | - | 40 | 3.1.2017 |
| 5 | 171 | - | 8.1.2017 |
| - | 10 | 60 | 10.1.2017 |
| 6 | 44.1 | - | 11.1.2017 |
| 8 | 954 | - | 13.1.2017 |
+------------+----------------+---------+-----------+
、請求書の金額は*((金額*単価)の合計)である(1-税)
私が使用を開始しました組合は敗北した。
SELECT Inv_ID as Num, SUM(Invoice_Items.II_Price*Invoice_Items.II_Amount) AS Amount, Inv_Date as Created
FROM Invoice INNER JOIN Invoice_Items ON Invoice.Inv_ID = Invoice_Items.II_Inv_ID
UNION ALL
SELECT Null as Num, P_Value as Amount, P_Date as Created
FROM Payments
ORDER BY created ASC
あなたの助けが高く評価されています
は、ここで私の試みです!
おかげ
私は、税はi.taxをtではない、第二に、それは私がそれらを修正しても、i.iD = t.Invoice_IDあるべきjoing左、私は2つの小さなミスがあると思います、ありがとうエラーを取得します。 "クエリエラーの構文エラー(演算子がありません)" c.ID = i.Customer LEFT JOIN Invoice_Item t ON i.ID = t.Invoice_ID '" – Augustus
Opps、私は変更を加えました。ここに完全なエラーメッセージを貼り付けることができますか?また、列名のスペルを再度確認してください。 – Catzeye
アクセスが複数の結合を好きではないため、最初のクエリにかっこを追加しました。今すぐチェックしてください。 – Catzeye