2012-11-15 65 views
0

我有两个表我需要查询MySQL的加入和计算行

一表 'archive_agent_booking':

|account_no|week|year|description|price|date|job_id| 
---------------------------------------------------- 

第二个表是 'invoice_additions':

|account_no|week|year|description|amended_price|amend_date| 
----------------------------------------------------------- 

我是什么旨在做的是每个数据库中的每个星期编号按降序获取以下数据,同时记住两个表中可能不存在星期编号。

的数据需要出现如下:

周编号:(这将来自两个表,即使周数没有在表中的一个存在。)

预约:(这会从第一个表和只是一个COUNT()上周出现的次数)

发票调整:(这将来自于第二个表,并像以前一样一周出现的次数的计数)

选择查询我有s Ø远是只有一个表:

"SELECT week, year, 
COUNT(week) AS week_no FROM archive_agent_booking 
WHERE account_no='$account_no' 
GROUP BY week, year 
ORDER BY week DESC" 

我有第二个表链接到这个查询,以便它会计算在每个表每周都列麻烦。

回答

0
SELECT 
    week, 
    year, 
    COUNT(week) AS week_no 
FROM archive_agent_booking 
left join invoice_additions on invoice_additions.week = archive_agent_booking.week 
WHERE account_no='$account_no' 
GROUP BY week, year 
ORDER BY week DESC 

既然你没有一个外键,您可以加入在本周

+0

不幸的是这不返回任何东西 - 我只是检查我的PHP语法检查不存在的错误:) – Sideshow

+0

这似乎是左连接语法中的一个问题,虽然检查其他示例我似乎无法理解。 – Sideshow