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

MySQL concat() k vytvoření názvů sloupců pro použití v dotazu?

Dříve jsem řekl, že to nelze udělat, ale mýlil jsem se. Sám jsem nakonec něco takového potřeboval, takže jsem se rozhlédl a zjistil, že připravené výpisy na straně serveru umožňují vytvářet a spouštět libovolné příkazy SQL z řetězců.

Zde je příklad, který jsem právě udělal, abych tento koncept dokázal:

set @query := (
  select concat(
    "select",
      group_concat(concat("\n  1 as ", column_name) separator ','),
    "\nfrom dual")
  from information_schema.columns
  where table_name = 'columns')
;
prepare s1 from @query
;
execute s1
;
deallocate prepare s1
;


  1. MySQL:ERROR 1215 (HY000):Nelze přidat omezení cizího klíče

  2. Je možné snížit proměnnou v MySQL?

  3. Rozdíl ve zpracování mezer mezi Oracle a SQL Server

  4. Vytvoření dělené tabulky v SQL Server (T-SQL)