Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mySQL>> Menambahkan tautan HREF ke GROUP_CONCAT yang Berbeda

Mengikuti dari pertanyaan ini , dan menggunakan kueri tersebut sebagai dasar untuk contoh berikut, Anda dapat melakukannya dengan yang berikut:

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;

Pada dasarnya saya telah membungkus data sumber dalam kueri (sub) terpisah, membangun tautan, lalu melakukan GROUP_CONCAT s di luar ini.

Ini menghasilkan:

<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>

Lihat biola ini untuk lebih jelasnya




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengamankan Instalasi MySQL Anda

  2. MYSQL - Pesan nilai stempel waktu secara berurutan, dari yang terbaru ke yang terlama?

  3. Apakah ada cara yang lebih baik untuk mendapatkan data dari dua tabel sekaligus dengan Sphinx/MySQL?

  4. (penyedia:Penyedia Pipa Bernama, kesalahan:40 - Tidak dapat membuka koneksi ke SQL Server)

  5. SubSonic 3 dan MySQL, menghapus garis bawah dari nama kolom dalam metode CleanUp() menyebabkan pengecualian saat menggunakan properti di linq-query