2016-11-17 6 views
-1

私は1つのレコードで2つの異なる列と異なる行の値を取得しようとしています。Laravelクエリビルダを使用して、1つのレコードに異なる2つの列と異なる行の値を取得することはできますか?

私は、次の列

  • id
  • ticket_idで一つのテーブルticket_threadがチケットテーブルに参照する外部キーであり、それはエージェントとクライアントがチケットに行われたすべての会話スレッド/応答を取得することができますがあります。
  • user_id最初のレコードのみが値を持っているチケット
  • titleに回答したユーザーのIDは、通常、チケットのタイトルを示して
  • is_internalコメントがチームのコメント(値= 1)を区別することで、完了の返信を示しますエージェントまたはクライアントによって(値= 0)応答がチケット

enter image description here

になされたものであり、番組に
  • updated_at日付

    今、会話のタイトル、チケットの最新の返信を作成したユーザーのID、返信が内部コメントでなければならない返信時間を含むチケットごとに1つのレコードが必要です。

    したがって、上記の例のために私の結果は

    enter image description here

    ようなものだが、それは可能ですか?

    希望の結果を取得するためのクエリを作成し、可能であれば同じレベルのクエリを共有することをお勧めします。

    TIA

  • 答えて

    0

    使用グループ

    SELECT 
        `Ticket ID`, 
        substring_index(group_concat(`User ID` order by `Replied on` desc) , ',', 1) as `User ID`, 
        substring_index(group_concat(if (`Conversation Title` ='', null, `Conversation Title`) order by `Replied on` desc) , ',', 1) as `Conversation Title`, 
        MAX(`Replied on`) 
    FROM `table` 
    GROUP BY `Ticket ID` 
    
    +0

    によると、グループ連結それは動作しますが、それはis_internal' 'の値が1 –

    +0

    あなたの出力テーブルの' is_internal'がある、最新のレコードを表示してはなりません問題の? – noufalcep

    関連する問題