hai cột trong đó mệnh đề hợp nhất với dấu phẩy


8

Tôi muốn xây dựng một truy vấn.

đây là bảng:

id  user_id  sn_no
1   22       00112233
2   22       987654325
3   22       65489732
4   25       984123123
5   25       9568456456
6   25       65456456

Tôi muốn kết quả như thế này:

{
   "user_id":22,
   "sn_no": "00112233,987654325,65489732"
}
{
   "user_id":25,
   "sn_no": "984123123,9568456456,65456456"
}

Bất cứ ai có thể xin vui lòng giúp giải quyết vấn đề này?

Tôi đã thử : concat, GROUP_CONCATnhưng không thể có kết quả.

Bạn có thể vui lòng giúp tôi thêm điều này trong Tham gia tham gia không?

$users = \DB::table('users')
            ->join('users_mcu', 'users.id', '=', 'users_mcu.user_id')
            ->join('country_user', 'users.id', '=', 'country_user.user_id')
            ->join('country_phase_color', 'country_user.country_id', '=', 'country_phase_color.id')
            ->select('users.id', 'users.first_name', 'users.last_name', 'users.company', 'users.designation', 'users.lang', 'users.phone', 'users.disp_graph', 'users.user_image', 'users.email', 'users.role', 'users.created_at', 'users.updated_at', 'country_user.country_id', 'country_phase_color.country_name')
            ->get();

DB :: raw ("(GROUP_CONCAT (sn_no SEPARATOR ',')) cũng như sn_nobạn đã sử dụng concat nhóm như thế này
Pankaj Bisht

mặc định SEPARATOR','không cần xác định lại
Dilip Hirapara

Vui lòng chia sẻ nơi bạn đã thử
GROUP_CONCAT

Câu trả lời:


4

Thử cái này-

YourModel::select('user_id')
         ->selectRaw('GROUP_CONCAT(sn_no) as sn')
         ->groupBy('user_id')
         ->get();

Vui lòng kiểm tra câu trả lời cập nhật. Trên thực tế tôi không biết tên cột sn_notrong bảng nào ... vui lòng xác nhận vềsn_no
Rash Hasan

sn_no được lưu trữ trong bảng
user_mcu

Vui lòng kiểm tra cập nhật
Rash Hasan

CNTT nói -------users.id 'không có trong NHÓM THEO
vdr

cùng một lỗi: users_mcu.user_id
vdr

1

Thử cái này.

$data = \DB::table('tablename')->select('user_id', \DB::raw('group_concat(sn_no) as sn_nos'))->groupBy('user_id')->get();

như thể bạn muốn thay đổi SEPARATORthì bạn có thể sử dụng SEPARATORnó nếu không thì mặc định sẽ là','

\DB::table('tablename')->select('user_id',DB::raw("(GROUP_CONCAT(sn_no SEPARATOR '@')) as `sn_nos`"))->groupBy('user_id')->get();


0

Thử cái này

use DB;

DB::table('tableName')
        ->select('id','user_id','DB::raw("(GROUP_CONCAT(sn_no SEPARATOR ',')) as `sn_nos`")')
        ->groupBy('user_id')
        ->get();

-1

Bạn có thể thử cái này

Model::select('user_id')
       ->selectRaw('GROUP_CONCAT(sn_nos) as sn_nos')
       ->groupBy('user_id')
       ->get();
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.