Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mySQL>> Dodawanie odnośników HREF do odrębnej GROUP_CONCAT

Kontynuacja to pytanie i używając tego zapytania jako podstawy w poniższym przykładzie, możesz to zrobić w następujący sposób:

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;

Zasadniczo umieściłem dane źródłowe w oddzielnym (pod) zapytaniu, budując linki, a następnie wykonując GROUP_CONCAT poza tym.

Daje to:

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

Zobacz te skrzypce więcej szczegółów




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Godny polecenia system tworzenia kopii zapasowych na gorąco dla MySQL?

  2. Składnia MYSQL nie jest oceniana nie równa się w obecności NULL

  3. Jak uzyskać identyfikator wiersza, który właśnie wstawiłem php/mysql

  4. Przechowywanie plików dla aplikacji internetowych:system plików vs DB vs silniki NoSQL

  5. Jak prawidłowo wybrać dane z wielu tabel za pomocą złączeń/podzapytań? (PHP-MySQL)