sql >> Databáze >  >> RDS >> Mysql

mySQL>> Přidání HREF odkazů do Distinct GROUP_CONCAT

V návaznosti na tato otázka a pomocí tohoto dotazu jako základu pro následující příklad to můžete provést následujícím způsobem:

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 podstatě jsem zdrojová data zabalil do samostatného (dílčího) dotazu, vytvořil jsem odkazy a poté provedl GROUP_CONCAT je mimo toto.

To produkuje:

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

Viz tyto housle pro více podrobností




  1. Obnovení smazaného 'root' uživatele a hesla pro MySQL

  2. Cizí klíč PostgreSQL neexistuje, problém dědičnosti?

  3. Jak navrhnout databázový model pro rezervační systém kina

  4. Jak to uděláte v mysql nebo rails