Advertisement
gahcep

Query_Quiz_3

May 3rd, 2012
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.40 KB | None | 0 0
  1. SELECT
  2.  
  3.     # Название покупателя
  4.     (SELECT of_name FROM contragents WHERE id = last_max.BUYER)
  5.       AS Buyer,
  6.    
  7.     # Номер накладной
  8.     c.number AS Num,
  9.    
  10.     # Сумма всех позиций с НДС
  11.     (SELECT SUM(price_with_nds) FROM consignment_goods
  12.       WHERE consignments_id = last_max.C_ID) AS PRICE_SUM,
  13.    
  14.     # Сумма строк по накладной
  15.     (SELECT COUNT(*) FROM consignment_goods
  16.       WHERE consignments_id = last_max.C_ID) AS GC_COUNT
  17.    
  18. FROM
  19. (
  20.   # здесь берется максимальная сумма не по всем записям накладной, а
  21.   # максимум по всем записям каждой накладной
  22.   SELECT
  23.     c.id as C_ID,
  24.     cg.id as CG_ID,
  25.     c.buyer_id AS BUYER,
  26.      
  27.     # Сумма с НДС по всем записям каждой накладной - для оценки максимума
  28.     SUM(cg.price_with_nds)
  29.    
  30.   FROM `consignment_goods` AS cg LEFT JOIN `consignments` AS c
  31.     ON cg.consignments_id = c.id
  32.      
  33.   GROUP BY c.id,
  34.     YEAR(FROM_UNIXTIME(c.date)),
  35.     MONTH(FROM_UNIXTIME(c.date)),
  36.     DAY(FROM_UNIXTIME(c.date))
  37.            
  38.   ORDER BY c.date DESC
  39.    
  40.   LIMIT 1    
  41. )
  42.   AS last_max,
  43.  
  44. `consignment_goods` AS cg,
  45. `consignments` AS c
  46.  
  47. WHERE cg.id = last_max.CG_ID
  48.    AND c.id = last_max.C_ID
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement