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

LaravelのCOALESCE

    さて、OPはあまり役に立ちませんでしたが、私はそれを試してみます! votesだと思います 表には、ユーザーがアイテムに投じた実際の投票が含まれています。つまり、アイテムが投票を受け取らなかった場合、そのアイテムID(masterItemIdvotesには存在しません テーブル。

    これは、投票テーブルをmasterItemIdのメインアイテムテーブルに結合したままにする必要があることを意味します。 分野。メインアイテムテーブルをitemsと呼びます。 、およびitemIdがあると想定します masterItemIdに一致するフィールド votesのフィールド テーブル。 SQL用語で:

    select items.itemId, ifnull(sum(votes.votes),0) as votesSum
    from items left join votes on items.itemId=votes.masterItemId
    where votes.voteDate between ... and ... and <other conditions>
    group by items.itemId
    

    私はLaravelに精通していませんが、このようなものが必要になりますが、コピーアンドペーストコードとして扱わないでください:

    $multipleitems = DB::table('items')
                     ->leftJoin('votes','items.itemId','=','votes.masterItemId')
                     ->select('items.itemId',DB::raw('ifnull(sum(votes.votes),0) as voteSum'))
                           ->whereBetween('votes.voteDate',array($startDate,$endDate))
                           ->where($condition)
                           ->groupBy('items.temId')
                           ->get();
    



    1. 列ヘッダーを出力テキストファイルに削除します

    2. 1日あたり数百万の新しい行のデータベースアーキテクチャ

    3. 修正:「現在のデータベースのバックアップがないため、バックアップログを実行できません。」 SQL Server /SQLEdgeで

    4. SQL開発者の平均給与はいくらですか?