当前位置: 首页 > 面试题库 >

SQL Server:如何从动态多个表中获取数据?

谈萧迟
2023-03-14
问题内容

使用SQL SERVER。

数据库包含不同年份的数据,我想以某种方式获取所有数据(所有年份)并显示给用户,例如,数据库包含表:

table
--------
records_2000_01
records_2000_02
records_2000_03
...

现在通过从information_schema.tables中选择TABLE_NAME到@tableName中,其中table_name如’records_%’

我可以获取所有表名,如何编写SQL(或过程)以从这些表中获取所有数据?将所有记录合并到一个表中?

谢谢。


问题答案:

在此中创建过程您需要遵循以下步骤。

  • Create table Common_Table 具有相同的结构,您的所有表格都像records_2000_02等。
  • 将循环或游标用于所有从information_schema中获得的,与表名匹配的记录
  • 创建类似' Insert into your Common_Table select * from ' + Table_name从Information_schema中获得的动态sql 。
    • 然后,将所有数据存储在一个表Common_Table中


 类似资料:
  • 表 1:发票(inv_id、inv_value、cust_id) 表 2:客户(cust_id、sales_rep) 表 3:成员(Member_id、member_cateogry、member_type、cust_id) 注1:每个客户支付多张发票。(一对多关系)。< br >注2:每个客户为一个或多个会员付费(因此一个客户可能与多个会员相关)。< br >注3:每个成员都有一个类别,可以是1

  • 问题内容: 我在单个SQL语句中从多个表中提取Sums时遇到问题。 我有三个表tblCases,tblTimesheetEntries和tblInvoices在tblCases和其他两个表之间存在一对多的关系。 我目前正在使用以下SQL语句 但是,这似乎重复了发票金额。例如,如果一个案例只有一张发票,但是说有4个时间表条目,则它将计算出发票金额的4倍作为该表的总和。 如果我将分组取出,然后运行以下

  • 问题内容: 我有两个表: 这是表1: 这是表2: 现在,我想从这些表中获取数据。在两个表中都相同。 我想拿 和其他表。 请帮我做到这一点。 问题答案: 我假设您在第二个表中有一个命名字段(您没有列出它): 您应该查看有关的MySQL手册,因为这是编写SQL查询的非常基本的部分。您也可以考虑为product_id字段添加索引,以使查询运行更快。

  • 我正在使用hibernate 4和Spring 3。 我有5个表,每个表映射一个实体类。现在,如果我必须从1个表中选择列,我将执行以下操作: 此结果中的此值将为EmployeeEntity类型。 或者我也可以使用标准。 现在我的要求是我必须从所有5个表中得到结果。每个表中有1-2列。 早些时候,它是一个1表,所以我得到了一个实体,现在我得到了5个表的结果,所以如何在实体中映射它。 List res

  • 我在MySQL中有两个表,如下所示: 表1如下: 表2如下: 现在,我想在一个查询中同时从表1和表2获取数据。 我想从两个表中检索值,其中Student ID等于某物。 学生姓名|年龄|教师姓名 您能告诉我如何从上面提到的两个表中查询值吗。我已经阅读了很多教程,但我不能正确地检索它。我是MySQL新手,请解释清楚。我应该使用什么表联接、并集、内部联接还是外部联接?