/ / Jak uzyskać kolumny bazy danych z więcej niż jednej tabeli na serwerze sql, a następnie pogrupować według nazwy tabeli - sql, sql-server, tsql

Jak zdobyć kolumny bazy danych z więcej niż jednej tabeli na serwerze sql, a następnie grupować według nazwy tabeli - sql, sql-server, tsql

Mam scenariusz, w którym chcę pobrać kolumny tabeli bazy danych z dwóch tabel, a następnie chcę pogrupować według nazwy tabeli,

na przykład

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

wprowadź opis obrazu tutaj

Odpowiedzi:

3 dla odpowiedzi № 1

Dlaczego grupa, nie masz agregacji? Myślę, że masz na myśli ORDER BY

select TABLE_NAME, COLUMN_NAME
from INFORMATION_SCHEMA.columns
where TABLE_NAME in ("CustomQuestion","lead")
order by TABLE_NAME, COLUMN_NAME

2 dla odpowiedzi nr 2

Na podstawie komentarzy, o co prosisz (tabelanazwa pojawia się tylko raz) to naprawdę więcej funkcji raportowania niż funkcji zapytania; co oznacza, że ​​istnieje prawdopodobnie lepszy sposób na zrobienie tego niż zaklinowanie go w SQL.

Ale to nie znaczy, że ty żargon zaklinuj go w SQL, więc proszę:

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