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 | CODE |           NAME | QTY |  MEAS |
    ----------------------------------------------------
    |          2 |  173 |        ketchup |   2 |   pcs |
    |          2 | 1130 |    corned beef |  80 | gramm |
    |          2 | 1135 |         laurel | 0.8 | gramm |
    |          2 | 1136 |          clove |   2 | gramm |
    |          2 | 1138 |         tomato | 160 | gramm |
    |          3 | 1139 |        mustard |  15 | gramm |
    |          3 | 1140 |      fresh egg | 150 | gramm |
    |          8 | 1144 |           salt | 3.4 | gramm |
    |          5 | 1256 | spaghetti rinf | 375 | gramm |
    |          8 | 1258 |            oil | 362 | gramm |
    

    これがSQLFiddleです デモ




    1. データベース内のテーブルのMySQLテーブルサイズを取得するにはどうすればよいですか?

    2. 悪い習慣:行を数えるのは難しい

    3. エクスクルーシブ!アクセスプログラムマネージャーのゲストミハルバーにご参加ください

    4. postgresqlでグローバル変数を定義することは可能ですか?