Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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
SQL在名称的一部分为空时追加多个表_Sql_Sql Server - Fatal编程技术网

SQL在名称的一部分为空时追加多个表

SQL在名称的一部分为空时追加多个表,sql,sql-server,Sql,Sql Server,我想知道,是否可以根据表名的一部分,在一个查询和另一个查询之后追加查询。我们的SQL server建立在基于国家的数据库中,这意味着每个国家都有自己的数据库。每个国家都有一家商店,我们根据邮政编码和商店名称为商店命名。与该特定存储相关的所有表都以邮政编码和名称开头,后跟“$”,然后是表名 假设名称的第一部分是“NO6800 Store1$”,这是动态部分。 之后,该表将命名为“销售发票标题”,这对于所有商店都是相同的 我的问题是,如果我能够让SQL找到所有包含值“Sales Invoice He

我想知道,是否可以根据表名的一部分,在一个查询和另一个查询之后追加查询。我们的SQL server建立在基于国家的数据库中,这意味着每个国家都有自己的数据库。每个国家都有一家商店,我们根据邮政编码和商店名称为商店命名。与该特定存储相关的所有表都以邮政编码和名称开头,后跟“$”,然后是表名

假设名称的第一部分是“NO6800 Store1$”,这是动态部分。 之后,该表将命名为“销售发票标题”,这对于所有商店都是相同的

我的问题是,如果我能够让SQL找到所有包含值“Sales Invoice Header”的表,并将所有查询自动附加到一个表中。如果可能的话,如果我能在全国数据库中找到它,那就太好了


提前感谢:)

查看查询
sys.databases
sys.tables
系统表。它们包含一个
名称
列,您可以使用普通的
查询来查找数据库

例如:

select * from sys.databases where name LIKE '%Norway'

select * from sys.tables where name LIKE '%Sales Invoice Header'
这是可以做到的

您需要标识所有表名(假设它们具有相同的结构),然后构建一个CTE查询,该查询包含来自与union all联合的每个表的WITH select语句,然后是您需要在所有以CTE为目标的表中运行的最终查询

例如:

WITH CrossCountry_CTE (Col1, Col2, ColN)  
AS  
-- Define the CTE query.  
(  
    SELECT Col1, Col2, ColN FROM NO6800Store1$SalesInvoiceHeader
    UNION ALL
    SELECT Col1, Col2, ColN FROM XX0000StoreU$SalesInvoiceHeader
    UNION ALL
    ..
    SELECT Col1, Col2, ColN FROM YY0000StoreV$SalesInvoiceHeader
)  
-- Define the outer query referencing the CTE name. Random query here:
SELECT Col1, COUNT(Col2) AS TotalSales, ColN
FROM CrossCountry_CTE
GROUP BY ColN, Col1
ORDER BY Col1, ColN;

您使用的是哪种数据库管理系统?Oracle、MySQL、SQL Server等?我遗漏了一个重要的细节。。。哎呀。它是Microsoft SQL Server。我只想在MicrosoftSQLServerManagementStudio 18中进行查询。SQL Server是吗?。。MySQL???……有了它,您可以找到结构SELECT*FROM INFORMATION\u SCHEMA。TABLES@ArunPalanisamy很遗憾,SQL Server 12.0.6214.1sys.tables没有显示我要查找的表。