PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

PostgreSQL, сложна заявка за изчисляване на съставки по рецепта

Опитайте

SELECT SUM(f.qty) used_times,
       COALESCE(i.ingr_code, f.food_code) code,
       COALESCE(i.name, f.name) name,
       SUM(COALESCE(i.qty, 1) * f.qty) qty,
       COALESCE(i.meas, f.meas) meas
  FROM usedfood f LEFT JOIN ingredients i
    ON f.food_code = i.food_code
 GROUP BY i.ingr_code, i.name
 

Изход:

<пред>| USED_TIMES | КОД | ИМЕ | КОЛИЧЕСТВО | MEAS |------------------------------------------------ ----| 2 | 173 | кетчуп | 2 | бр || 2 | 1130 | солонина | 80 | грам || 2 | 1135 | лавър | 0,8 | грам || 2 | 1136 | карамфил | 2 | грам || 2 | 1138 | домат | 160 | грам || 3 | 1139 | горчица | 15 | грам || 3 | 1140 | прясно яйце | 150 | грам || 8 | 1144 | сол | 3.4 | грам || 5 | 1256 | спагети ринф | 375 | грам || 8 | 1258 | масло | 362 | грам |

Ето SQLPiddle демонстрация




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Колона не съществува?

  2. ST_HexagonGrid geom вектор за намиране на всички точки

  3. Филтриране на Django JSONField

  4. Големи данни с PostgreSQL и Apache Spark

  5. Разбиране на типовете дата и функциите на PostgreSQL (по примери)