Mám scenár, v ktorom chcem načítať stĺpce tabuľky databázy z dvoch tabuliek a potom chcem zoskupiť podľa názvu tabuľky,
napr.
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.columns
WHERE table_name="lead"
UNION ALL
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.columns
WHERE table_name="CustomQuestion"
GROUP BY
odpovede:
3 pre odpoveď č. 1Prečo skupina nemáte agregát? Myslím, že máte na mysli OBJEDNÁVKU
select TABLE_NAME, COLUMN_NAME
from INFORMATION_SCHEMA.columns
where TABLE_NAME in ("CustomQuestion","lead")
order by TABLE_NAME, COLUMN_NAME
2 pre odpoveď č. 2
Na základe komentárov, čo požadujete (tabuľkameno, ktoré sa má zobraziť iba raz), je v skutočnosti väčšou funkciou vykazovania ako funkciou dotazu; čo znamená, že existujú pravdepodobne lepšie spôsoby, ako to urobiť, ako to zaklinovať do jazyka SQL.
Ale to vás neznamená môžu "t zaklinujte ju do SQL, takže tu máte:
select case when row_number() over(partition by table_name
order by column_name) = 1
then TABLE_NAME
else ""
end as TABLE_NAME
, COLUMN_NAME
from INFORMATION_SCHEMA.columns
where TABLE_NAME in ("CustomQuestion","lead")
order by TABLE_NAME, COLUMN_NAME