【发布时间】:2021-01-21 05:24:21
【问题描述】:
我想加入三个表,df1、df2 和 df3。我想从 df1/df2 获取结果,然后将其加入 df3。
我想将表格 df1 和 df2 ON 版本和名称与目的条件结合起来 =“嗨”或“猫” 然后我想获取这个子集的结果并将其应用于我的 df1 外连接 df1 会在主机和电脑上加入这个内表
df1
version host date
pat a16 12/1/2019
fam a16 12/1/2019
emp a16 12/1/2019
dan a16 12/1/2019
df2
name purpose
pat hi
fam cat
emp dog
dan bird
df3
pc size free date
a16 5 1 12/1/2019
a40 4 3 12/1/2019
a41 3 1 12/1/2019
渴望
version host date name purpose pc size free date
pat a16 12/1/2019 pat hi a16 5 1 12/1/2019
fam a16 12/1/2019 fam cat
正在做
SELECT SUM(df3.size) AS size, SUM(df.3.free) AS free,
df3.date
FROM df3
(SELECT DISTINCT
df2.purpose, df2.name,
df1.version, df1.host
FROM df1
JOIN df2 ON
df2.name = df1.version
WHERE df2.purpose = 'cat' OR df2.purpose = 'hi')
AS NEW
JOIN df3 ON
df3.pc = NEW.host
但是,我的值是双倍的,因为似乎有重复。我还在研究。任何建议表示赞赏。
【问题讨论】:
标签: sql sql-server