Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从数据库的所有表中提取数据_C#_Asp.net_Sql - Fatal编程技术网

C# 如何从数据库的所有表中提取数据

C# 如何从数据库的所有表中提取数据,c#,asp.net,sql,C#,Asp.net,Sql,我在数据库的不同表中有3列。表名称和数字可以是任何内容,因此我无法编写查询来从这三列中获取数据 查询: SELECT first_name, last_name FROM (table names) WHERE email="someting@someting.com" 请帮我做这个 谢谢 爱德华:你可以这样做: SELECT first_name, last_name, FromWhichTable FROM ( SELECT first_name, last_name, ema

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

查询:

SELECT first_name, last_name 
FROM (table names) 
WHERE email="someting@someting.com"
请帮我做这个

谢谢

爱德华:你可以这样做:

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"

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

声明@SQL VARCHAR(4000)

SET@SQL='从…中选择名字和姓氏。。。。等

EXEC(@SQL)


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

您尝试过任何操作吗?是否尝试获得所有这些表的并集?然后你应该看看union关键字如果你不知道表的名称,那么这将很难做到。在这种情况下,您必须在系统视图中查找表名,希望它们是您想要的,然后使用它们构建查询。。。祝你好运,或者让别人给你正确的表名。从sys.tables中选择name。此查询将从数据库中获取所有表名,但我不知道如何在我的sql查询中使用它?