У меня есть эта проблема, которую я пытался исправить в течение нескольких часов, в основном у меня есть код SQL, который печатает таблицы в базе данных и их столбцах вместе с некоторыми другая информация, которая выглядит следующим образом: What I getСлияние столбца под конкретными критериями в sql sever 2014
проблема заключается в том, что я хочу удалить дубликаты в первой колонке, которая показывает имя таблицы, но я хочу оставить атрибут «столбцы» в разных строках, в основном мне нужны дубликаты стать пустым или слить первый столбец строк, которые представляют одну и ту же таблицу. Я знаю, что это широкое объяснение, но это то, что я хочу, чтобы это выглядело как: wanted result
это код SQL Я использую под SQL SERVER 2014:
SELECT CAST(t.NAME AS CHAR(12)) AS [Table]
,CAST(c.NAME AS CHAR(20)) AS [Column]
,CAST(d.NAME AS CHAR(9)) AS [Data type]
,CASE
WHEN d.NAME IN (
'char'
,'varchar'
)
THEN STR(c.max_length, 6, 0)
ELSE ''
END AS [Length]
,CASE
WHEN d.NAME IN (
'numeric'
,'decimal'
)
THEN STR(c.precision, 9, 0)
ELSE ''
END AS [Precision]
,CASE
WHEN d.NAME IN (
'numeric'
,'decimal'
)
THEN STR(c.scale, 5, 0)
ELSE ''
END AS [Scale]
,CASE c.is_nullable
WHEN 0
THEN 'not null'
ELSE ''
END AS [Nullable]
FROM sys.columns AS c
JOIN sys.tables AS t ON c.object_id = t.object_id
JOIN sys.types AS d ON c.system_type_id = d.system_type_id
ORDER BY 1
,column_id;
Код должен работать для любой базы данных под sql server 2008 и более. Спасибо за помощь.
отлично работает благодаря! –