Asked Mar 30th, 4:00 AM 124 0 2
  • 124 0 2
0

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

Share
  • 124 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 ANSWERS


Answered Mar 30th, 9:36 AM
+1

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
Share
Answered Mar 30th, 4:29 AM
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 ạ

Share
Mar 30th, 9:43 AM

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

0
| Reply
Share