在SQL Server中,我希望看到Table_Name以及與該Table_Name在數據庫中關聯的所有列。所以輸出應該是這樣的:逗號分隔數據庫中所有列的列表(Tablename | Column_names ...)
TABLE_NAME COLUMN_NAME
1. Employee Employee-id, Lastname, Firstname, Title...........
2. Orders Orderid, Order-date, shipped-date, delivery-date.......
3. Products Product-id, Product-name, supplier-id, category-id.....
4. Suppliers Supplier-id, Company-name, contact-name.......
5. ............................................................
6. ...................................................
(So on....)
是否有可能通過WHILE LOOP或其他方式獲得上述結果?如果是,您可以發佈代碼嗎?
而且,我試圖用一個臨時表做到這一點的問題:
create table #hello
(table_name1 Varchar(max))
insert into #hello(table_name1)
select table_name from information_schema.columns
GO
create table #hello2
(table_name2 varchar(max),column_name2 varchar(max))
insert into #hello2(table_name2 ,column_name2)
select table_name,column_name from information_schema.columns
GO
select a.table_name1,b.column_name from #hello a inner join
information_schema.columns b
on a.table_name1=b.table_name COLLATE Latin1_general_CI_AS
order by table_name
GO
我在垂直列出列是成功的,但我不能讓列逗號分隔的列表。
我們沒有建立它。 – 2011-02-08 18:10:43
@OMG小馬:我不明白爲什麼不。如果他們給出了一個有趣的問題,並且你可以用「這是你怎麼做的:<代碼片段>」來回答,那你爲什麼不呢?我知道它可以幫助我學習如何做一些事情來查看我的問題域的相關示例。 並非所有的用戶都可能想爲其他用戶構建查詢,但我不知道爲什麼要嘗試爲社區發言並說「我們不這樣做」。我個人喜歡通過提供查詢他們正在處理的問題來幫助人們。 (對不起長段落,我不知道如何輸入換行符......) – 2011-02-08 23:47:12
@Jeremy Pridemore,爲什麼我應該試圖幫助那些希望我能夠完成他所付出的工作的人?有人應該表明,他們至少已經嘗試過或者在問他們需要知道什麼,開始嘗試不直接要求完成的代碼以供其他人編寫。 – HLGEM 2011-02-09 16:37:19