SQL 服务器:从查询中获取某些 table 名称
SQL Server : getting certain table names from query
是否可以在查询中只显示某些 table 个名字:
USE [WebContact]
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
大多数时候我需要所有 table 名称,但在某些情况下我只需要某些行名称。
当我尝试执行以下操作时:
USE [WebContact]
SELECT COLUMN_NAME, ContactDateTime
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
它告诉我
Invalid column name 'ContactDateTime'
即使那是行名称之一。
这可以吗?
如果 ContactDateTime 是您在 table memberEmails 中查找的列,那么您可以这样做
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
and COLUMN_NAME='ContactDateTime'
列 ContactDateTime
可能是您 table 中的一列,但它不是 INFORMATION_SCHEMA.COLUMNS
视图中的一列。
因为它不是那里的一列,SQL 服务器会出错,说它无效。
我想你想做的是在你的声明中添加另一个 WHERE
子句:
USE [WebContact]
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
AND [COLUMN_NAME] = 'ContactDateTime'; -- Here!
或者如果您想添加多列...
USE [WebContact]
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
AND [COLUMN_NAME]
IN ('ContactDateTime', 'column2', 'column3', ... 'column(n)'); -- Here!
另请参阅此处了解反对使用 INFORMATION_SCHEMAS 的案例。
视图 INFORMATION_SCHEMA.COLUMNS
没有列名 ContactDateTime
。请先read document
是否可以在查询中只显示某些 table 个名字:
USE [WebContact]
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
大多数时候我需要所有 table 名称,但在某些情况下我只需要某些行名称。
当我尝试执行以下操作时:
USE [WebContact]
SELECT COLUMN_NAME, ContactDateTime
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
它告诉我
Invalid column name 'ContactDateTime'
即使那是行名称之一。
这可以吗?
如果 ContactDateTime 是您在 table memberEmails 中查找的列,那么您可以这样做
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
and COLUMN_NAME='ContactDateTime'
列 ContactDateTime
可能是您 table 中的一列,但它不是 INFORMATION_SCHEMA.COLUMNS
视图中的一列。
因为它不是那里的一列,SQL 服务器会出错,说它无效。
我想你想做的是在你的声明中添加另一个 WHERE
子句:
USE [WebContact]
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
AND [COLUMN_NAME] = 'ContactDateTime'; -- Here!
或者如果您想添加多列...
USE [WebContact]
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
AND [COLUMN_NAME]
IN ('ContactDateTime', 'column2', 'column3', ... 'column(n)'); -- Here!
另请参阅此处了解反对使用 INFORMATION_SCHEMAS 的案例。
视图 INFORMATION_SCHEMA.COLUMNS
没有列名 ContactDateTime
。请先read document