两个查询返回行的不同没有。两个查询日期范围内的值返回行的不同没有
Query1:
----------
SELECT t1.a1, t1.a2, t2.b1,t2.b2
from (SELECT a1,a2 from xyz WHERE (date BETWEEN '2011-01-01' AND '2011-01-30')
AND id = 70 GROUP BY a1 a2)t1,
(SELECT a1,a2 from xyz WHERE (date BETWEEN '2011-01-01' AND '2011-01-30')
AND id = 70 GROUP BY a1 a2)t2, t3
where t1.a1=t3.a1
and t2.a1=t3.a1
output 1:
---------------
a1 a2 b1 b2
---------------
1 2 7 4
1 3 4 2
1 6 5 1
上面的查询有什么问题吗?
我有相同的结构化查询,它给我带来了一些列。
当我使用UNION ALL它给我带来更多的行比以前的查询
query2:
---------------
SELECT t1.a1, t1.a2, '' as b1,'' as b2
FROM(SELECT a1,a2 from xyz WHERE (date BETWEEN '2011-01-01' AND '2011-01-31')
AND id = 70 GROUP BY a1 a2)t1, t3
where t1.a1=t3.c1
UNION ALL
SELECT '' AS a1, '' AS a2, t2.b1,t2.b2
FROM(SELECT a1,a2 from xyz WHERE (date BETWEEN '2011-02-01' AND '2011-02-30')
AND id = 70 GROUP BY a1 a2)t1, t3
where t2.b1=t3.c1
output 2:
---------------
a1 a2 b1 b2
---------------
1 2 4
1 3 2
1 6 5
4 8 3
如果我有想到的任何其他技术则请告知做同样的查询。
注:我需要在这样的销售数量为MONTH1和MONTH2一个销售人的报告拖不同日期范围内的数据比较个月的销量。 “Ouptup1”将解决我的问题。请建议。 注意:我并不是非常喜欢查询数据。
谢谢。 Shahidul-孟加拉国达卡。
托马斯感谢您的帮助 – Shahidul 2011-06-07 10:53:28
托马斯感谢您的帮助,我曾试图用自己的方式,并试图获得满意的结果。我是半成功的。两个查询返回少一些列(如第一个查询返回90行,但第二个查询返回的88行,当我全加入他们一起返回只有88行),现在我想是所有行同时从查询返回。谢谢。 – Shahidul 2011-06-07 11:04:49
@ Shahidul-根本问题是加入'xyz.a1'。将二月份数据堆叠而非并排的Jan数据会更容易。我会更新我的帖子来说明。 – Thomas 2011-06-07 15:24:04