Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

mySQL>> Thêm liên kết HREF vào GROUP_CONCAT Riêng biệt

Tiếp theo từ câu hỏi này và sử dụng truy vấn đó làm cơ sở cho ví dụ sau, bạn có thể thực hiện việc này với các bước sau:

SELECT 
CONCAT(res_id,': ',res_name) 'Resources', 
GROUP_CONCAT(distinct t_name order by t_id separator ',') 'Topics', 
GROUP_CONCAT(distinct ch_name order by ch_id separator ',') 'Chapters'
FROM (SELECT res_id,
      res_name,
      t_id,
      t_name,
      ch_id, 
      CONCAT("<a href=\"page.asp?topic=",ch_name,"\" title=\"",ch_name,"\">",ch_name,"</a>") as ch_name 
             FROM resources r
             JOIN topics_to_resource ttr ON ttr.tr_resid = r.res_id
             JOIN topics t on t.t_id = ttr.tr_tid
             JOIN topics_to_chapter ttc on ttc.tch_tid = t.t_id
             JOIN chapters ch ON ch.ch_id = tch_chid) links
      GROUP BY res_id
      ORDER BY res_id, t_id, ch_id;

Về cơ bản, tôi đã gói dữ liệu nguồn trong một truy vấn (con) riêng biệt, xây dựng các liên kết, sau đó thực hiện GROUP_CONCAT s bên ngoài của điều này.

Điều này tạo ra:

<a href="page.asp?topic=CHAPTER #1" title="CHAPTER #1">CHAPTER #1</a>,
<a href="page.asp?topic=CHAPTER #2" title="CHAPTER #2">CHAPTER #2</a>,
<a href="page.asp?topic=CHAPTER #3" title="CHAPTER #3">CHAPTER #3</a>

Xem trò chơi này để biết thêm chi tiết




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ngoại lệ kết nối Grails và MySQL

  2. Tìm kiếm hướng dẫn về cách xây dựng một hệ thống nhắn tin riêng bằng PHP

  3. Truy vấn Mysql hoạt động tốt trên bàn làm việc nhưng mất quá nhiều thời gian trong r

  4. phân nhóm kho lưu trữ theo năm và tháng bằng php và mysql

  5. Cách kiểm tra xem người dùng đã tồn tại trong MySQL với PHP hay chưa