【发布时间】:2015-05-26 08:17:42
【问题描述】:
您好,我有两个 sql 查询,我想合并或合并它们
查询1:
Select TableA.Name, TableB.Date
from TableA, TableB
where ID = ID_used;
查询2:
SELECT count(Date)
FROM (SELECT DISTINCT Date
FROM TableA, TableB
group by Date;
我试过了:
Select TableA.Name, TableB.Date
from TableA, TableB
where ID=ID_used inner join (SELECT count(Date)
FROM (SELECT DISTINCT Date
FROM TableA, TableB
group by Date)
但在联合查询中会出现语法错误。
我需要的结果:名字,计数结果。
有什么想法吗?
测试数据:
TableA
---------------------
Name ID
---------------------
John 1001
Peter 1002
TableB
-----------------------
Date ID_used
-----------------------
2015.05.01.AM 1001
2015.05.01.AM 1001
2015.05.01.AM 1002
2015.05.01.PM 1001
2015.05.01.PM 1001
2015.05.01.PM 1002
2015.05.01.PM 1002
2015.05.02.PM 1002
结果必须是:
John 2
Peter 3
【问题讨论】:
-
你能展示一些数据和预期的结果吗?查询 #2 在执行 GROUP BY 之前产生一个 CROSS JOIN。
-
您的结果中的每一行是否只需要相同的结果(如总共有多少个指定日期)?
-
提示:计数(和计数)。数字必须匹配!
-
我想计算列中每个名称的日期。计数效果很好,但仅适用于名称。这就是我尝试组合的原因。(最终目标是将结果列出)
-
Jeremy C. 目标是获取每个名称/不同的日期(用于 ID)。我将编辑问题并提供一些示例数据
标签: sql