sql >> データベース >  >> RDS >> Mysql

複雑な複数テーブルインベントリSQLクエリ

    以下のクエリを使用してください

    select Inventory.ItemID, Inventory.ItemName, 
    sum(case when Inventory.TransactionDate<currentdate() then Inventory.Quantity else 0 end)+sum(case when ConsumedItems.TransactionDate<currentdate() then ConsumedItems.Quantity else 0 end)-sum(case when DamagedItems.TransactionDate<currentdate() then DamagedItems.Quantity else 0 end) as 'PrevBalance',
    sum(case when DamagedItems.TransactionDate=currentdate() then DamagedItems.Quantity else 0 end) as 'DamagedToday',
    sum(case when ConsumedItems.TransactionDate=currentdate() then ConsumedItems.Quantity else 0 end) as 'ConsumedToday', 
    sum(case when ConsumedItems.TransactionDate=currentdate() then ConsumedItems.Quantity else 0 end)+sum(case when DamagedItems.TransactionDate=currentdate() then DamagedItems.Quantity else 0 end)+sum(case when Inventory.TransactionDate=currentdate() then Inventory.Quantity else 0 end) as 'DeliveredToday' 
    from Inventory 
    join ConsumedItems on ConsumedItems.ID = Inventory.ID 
    join DamagedItems on DamagedItems.ID = Inventory.ID
    group by  Inventory.ItemID, Inventory.ItemName
    



    1. 列フィールドの2つの行の違いを取得するにはどうすればよいですか?

    2. substrはutf8では正常に機能しません

    3. 同じ列値を持つmysql行を1つの行にグループ化するにはどうすればよいですか?

    4. psql:致命的:データベース<ユーザー>は存在しません