【问题标题】:Querying multitable data查询多表数据
【发布时间】:2023-03-30 02:00:01
【问题描述】:

这是我尝试执行的查询,但它说找不到存储过程所有表。

alltable (SELECT convert(datetime, convert(char(10),[Date/Time], 101)) [Date/Time], [Through], [Amount Received] 来自交易 联合所有

SELECT convert(datetime, convert(char(10),[Date/Time], 101)) [Date/Time], [Through], [Amount Received] 从潜孔 联合所有

SELECT convert(datetime, convert(char(10),[Date/Time], 101)) [Date/Time], [Through], [Amount Received] 从实用程序 联合所有

SELECT convert(datetime, convert(char(10),[Date/Time], 101)) [Date/Time], [Through], [Amount Received] 从手机 联合所有

SELECT convert(datetime, convert(char(10),[Date/Time], 101)) [Date/Time], [Through], [Amount Received] 来自 ISP) SELECT convert(datetime, convert(char(10),[Date/Time], 101)) [Date/Time], [Through], SUM([Amount Received]) 来自所有表 GROUP BY convert(datetime, convert(char(10),[Date/Time], 101)), [Through]

【问题讨论】:

  • 请贴出你目前写的代码。人们通常不喜欢只为您编写代码。事实上,这是一个工作描述,而不是一个问题。

标签: sql-server-2005


【解决方案1】:

你可以试试这样的:

with AllTables as (
    select dateadd(day, 0, datediff(day, 0, [Date/Time])) as Date, Service, AmountReceived from Table1 union all
    select dateadd(day, 0, datediff(day, 0, [Date/Time])) as Date, Service, AmountReceived from Table2 union all
    select dateadd(day, 0, datediff(day, 0, [Date/Time])) as Date, Service, AmountReceived from Table3 union all
    select dateadd(day, 0, datediff(day, 0, [Date/Time])) as Date, Service, AmountReceived from Table4 union all
    select dateadd(day, 0, datediff(day, 0, [Date/Time])) as Date, Service, AmountReceived from Table5
)
select Date, Service, sum(AmountReceived) as AmountReceived
from AllTables
group by Date, Service

请确保您使用的是union all 而不是union

【讨论】:

  • 专栏的名字是[Date/Time],不是DateTime,但基本上和我要发的差不多。
【解决方案2】:

这可能效率不高,但它会起作用......首先......

从每个表中选择您想要的 3 个字段并将它们合并在一起...作为一个视图...然后您是否在视图上求和/分组...

例如…… 创建视图组合 作为 从 table1 中选择 DateField、Service、AmountRecieved 联盟 从 table2 中选择 DateField、Service、AmountRecieved 联盟 从 table3 中选择 DateField、Service、AmountRecieved ...

选择总和(amountREcieved),日期字段,服务 按 DAteField、服务分组

GL

【讨论】:

    猜你喜欢
    • 2011-02-16
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多