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

Laravel5.4Raw結合クエリ

    コールバックを使用して、より複雑な結合クエリを作成できます。

    ->leftJoin(TBL_CAT, function($query){
         $query->on(TBL_CAT.'id', '=', 'p.cat_id')->where("**", "**", "**");
    })
    

    これがlaravelドキュメントのリンクです- https://laravel.com/docs/5.4/queries#参加 「高度な結合句」セクション。

    UPD ::コメントで述べたように、そのようなタイプのデータに文字列を含めることはお勧めできません。等式による原因検索は、文字列チェックよりもはるかに簡単なはずです。データ量に大きな違いがない場合でも、将来アプリで何が起こるかはわかりません。

    しかし、それでもやりたいのであれば、このように試すことができると思います

    ->leftJoin(TBL_CAT, function($query){
         $query->where(DB::raw("FIND_IN_SET(".TBL_CAT.".id, p.cat_id)"), "<>", "0");
    })
    

    cat_idにidが存在するかどうかを確認するために参加します。




    1. 別のスキーマにシノニムを作成するための許可(Oracle)

    2. sudoを使用せずにローカルMySQLサーバーに接続する

    3. パーティションテーブル、HDD上の異なるディスク上の各パーティション

    4. 再帰クエリでは、集計関数は使用できません。このクエリを作成する別の方法はありますか?