如何从数据库中的所有表中获取数据

时间:2012-12-06 09:00:25

标签: c# asp.net sql

我在数据库中的不同表中有3列。表名和数字可以是任何内容,因此我无法编写查询以从这三列中获取数据。

查询:

SELECT first_name, last_name 
FROM (table names) 
WHERE email="someting@someting.com"

请帮助我。

谢谢,

爱德华

2 个答案:

答案 0 :(得分:2)

您可以动态构建SQL语句。类似于:

DECLARE @SQL VARCHAR(4000)

SET @SQL ='SELECT first_name,last_name FROM .... etc'

EXEC(@SQL)

因此,假设您要使用的表名作为参数传入或以其他方式从某处查找,您可以将它们包含在您在@SQL变量中构建的查询中。

答案 1 :(得分:0)

你可以这样做:

SELECT first_name, last_name, FromWhichTable 
FROM
(
   SELECT first_name, last_name, email, FromWhichTable = 1 FROM table_name1 
   UNION ALL
   SELECT first_name, last_name, email, 2                  FROM table_name2
   UNION ALL
   SELECT first_name, last_name, email, 3                  FROM table_name3 
) t
WHERE email="someting@someting.com"