Mysql
 sql >> база данни >  >> RDS >> Mysql

mySQL>> Добавяне на HREF връзки към Distinct GROUP_CONCAT

Продължаване на този въпрос , и като използвате тази заявка като основа за следния пример, можете да направите това със следното:

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;

По принцип обвих изходните данни в отделна (под) заявка, изградих връзките, след което изпълних GROUP_CONCAT е извън това.

Това произвежда:

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

Вижте тази цигулка за повече подробности




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. намери в комплект в laravel? пример

  2. MySQL:Получаване на колони по приоритети на стойността

  3. Heroku - Не мога да се свържа с локален MySQL сървър

  4. Актуализиране на колона за поръчка MySQL?

  5. Най-добрият начин да съхранявате маркери за скорост в огромна таблица