Yêu cầu Mar 30th, 2021 4:00 a.m. 187 0 2
  • 187 0 2
0

Xin hướng dẫn truy vấn từ 2 bảng

Chia sẻ
  • 187 0 2

Tôi có 2 bảng table1 và table2 : http://sqlfiddle.com/#!9/965444b/1

  • Làm sao để SELECT lấy username từ table1 sang table2 tương ứng với cột ids của table2 ? ví dụ như: table2: ids = 1,3 thì AS tên = (Long, Quân) ở table2 Xin cảm ơn !

2 CÂU TRẢ LỜI


Đã trả lời Mar 30th, 2021 9:36 a.m.
+2

http://sqlfiddle.com/#!9/9a419/20/0

I think it works

SELECT table2.*,  (
    SELECT GROUP_CONCAT(table1.username)  
    FROM table1
    WHERE FIND_IN_SET(table1.id, table2.ids)
) as names
FROM table2

---UPDATE---

Thế này nhanh hơn subquery

SELECT
    table2.ids,
    GROUP_CONCAT(table1.username) AS NAMES
FROM
    table2
LEFT JOIN table1 ON FIND_IN_SET(table1.id, ids)
GROUP BY
    table2.ids
Chia sẻ
Đã trả lời Mar 30th, 2021 4:29 a.m.
0

Có vẻ bạn đang bị nhầm lẫn việc xây dựng cấu trúc dữ liệu bảng 1 - N, với cấu trúc mà bạn đưa ra thì điều này là không thể, mình có sửa lại một chút ở đây: http://sqlfiddle.com/#!9/9d77d1/4

Bạn thử tham khảo xem ạ

Chia sẻ
Mar 30th, 2021 9:43 a.m.

thường thì 1-n mà dữ liệu lớn như log hay thiết kế db như này.

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí