Guest User

商品別販売合計金額を表示するSQL

a guest
Apr 14th, 2012
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 0.93 KB | None | 0 0
  1. --
  2. -- 商品テーブルと、
  3. --
  4. CREATE TABLE items (
  5.   id      serial        PRIMARY KEY,
  6.   name    VARCHAR(255)  NOT NULL,
  7.   price   INTEGER       NOT NULL   -- 単価
  8. );
  9.  
  10. --
  11. -- 販売テーブルがあるとする。
  12. --
  13. CREATE TABLE sales (
  14.   id          serial        PRIMARY KEY,
  15.   item_id     INTEGER       NOT NULL REFERENCES items(id),
  16.   COUNT       INTEGER       NOT NULL DEFAULT 1,  -- 個数
  17.   total       INTEGER       NOT NULL,  -- 単価 * 個数
  18.   created_at  TIMESTAMP     NOT NULL DEFAULT current_datetime
  19. )
  20.  
  21. --
  22. -- 日付を指定して、その日の商品別販売金額合計を大きい順に表示したい。
  23. -- どういうSQLを書けばいいの?
  24. --
  25. SELECT items.id, items.name
  26. FROM items,
  27.      (SELECT item_id, SUM(total) AS sum_total
  28.       FROM sales
  29.       WHERE DATE(created_at) = '2012-04-01'
  30.       GROUP BY item_id) AS totals
  31. WHERE items.id = totals.item_id
  32. ORDER BY totals.sum_total DESC;
Advertisement
Add Comment
Please, Sign In to add comment