首页 > 解决方案 > SQL Server:列出表名及其 id

问题描述

我想列出所有指定的表及其 ID 包含在 SQL Server 中。

例如:

客户

| id | foo  |
|:---|:----:|
|  1 | This | 
|  2 | Col  |

用户

| id | bar  |
|:---|:----:|
| 1  | That | 
| 2  | Col  |
| 3  | Col  |
| 4  | Col  |

我想生成这样的结果:

| TableName |  ID  |
|:---------:|:----:|
|  Client   |   1  | 
|  Client   |   2  |
|  User     |   1  |
|  User     |   2  |
|  User     |   3  |
|  User     |   4  |

我所做的是列出所有需要的表名,但我不知道如何列出它的 id

SELECT t.name AS TableName
FROM sys.tables as t
WHERE t.name = 'Client'
   OR t.name = 'User'

输出:

| - | TableName |
|---| --------- |
| 1 |  Client   |
| 2 |   User    |

有任何想法吗?

标签: sqlsql-serversql-server-2008sql-server-2005

解决方案


你需要UNION ALL

SELECT 'Client' AS TableName, ID   
FROM Client 
UNION ALL
SELECT 'User', ID
FROM User; 

推荐阅读