2010-05-06 49 views
0

Im在Excel 2007中停留,运行查询,它工作,直到我想添加包含“字段2”的第二行。Excel和SQL,通过帮助排序

Select "Site Updates"."Posted By", "Site Uploaded"."Site Upload Date" 
From site_info.dbo."Site Updates" 
Where ("Site Updates"."Posted By") AND "Site Uploaded"."Site Upload Date">={ts '2010-05-01 00:00:00'}), ("Site Location"='Chicago') 
Union all 
Select "Site Updates"."Posted By", "Site Uploaded"."Site Upload Date" 
From site_info.dbo."Site Updates" 
Where ("Site Updates"."Posted By") AND "Site Uploaded"."Site Upload Date">={ts '2010-05-01 00:00:00'}), ("Site Location"='Denver') 
Order By "Site Location" ASC; 

基本上我想要的位置的2个不同的细胞,例如

name - Chicago - denver 
user1 - 100 - 20 
user2 - 34 - 1002 

眼下一些奇怪的原因,它结合它想:

name - chicago 
user1 - 120 
user2 - 1036 

请注意更新至2010年公测这一点对我来说不是一个可行的选择。任何和所有对我有帮助的输入都会非常受欢迎。我已经阅读了http://www.techonthenet.com/sql/order_by.php,但是在这个问题上它没有得到很大的帮助。如果你有另一个SQL资源供你试图弄湿脚步的人使用,我会非常喜欢它。

如果它可以帮助所有的信息在同一张桌子上。

+0

我不明白你的意思是“它的结合”。在SQL查询中,您要求输入2个字段:“发布者”和“网站上传日期”,您似乎在说要让它返回3件事情?什么领域到底是“结合”? – dendarii 2010-05-10 09:09:54

回答

0

如果您要返回的是“发布者”和“网站位置”的网站更新次数,那么您可以尝试如下所示。

SELECT "Posted By", "Site Location", COUNT(*) AS "TotalUpdates" 
FROM "Site Updates" 
WHERE "Site Updated" >= '2010-05-01 00:00:00' 
GROUP BY "Posted By", "Site Location" 
0

我不确定你在找什么 - 表达这种关系的标准方式是自上而下,而不是左 - 右,但也许这不是重点。

普通的SQL会

SELECT col1, col2, ... 
FROM table 
WHERE xydate > '...' 
AND ("Site Location"='Chicago' 
OR "Site Location"='Denver') 
ORDER BY ... 

AND ("Site Location" IN ('Chicago', 'Denver')) 

我不知道为什么你的款项,我不知道,你可以使用SQL在Excel中,但我可以重新编写postgresql指南http://developer.postgresql.org/pgdocs/postgres/index.html - 但不幸的是,sql-dialetcs从db到db不同 - 可能它对您没有帮助。