我有三张桌子。 Estimates,Estimate_versions和customers。
这是一些SQL
SELECT estimates.id,
estimates.estimate_number,
estimates.description,
estimates.meeting_date,
estimates.job_date,
estimates.status,
estimates.price
FROM
(estimates)
LEFT OUTER JOIN estimate_versions estimate_versions ON estimate_versions.estimate_id = estimates.id
LEFT OUTER JOIN customers customers ON customers.id = estimates.customer_id
WHERE customers.key = 'JsB4ND90bn'
这样做 - 我想要做的是在表格的最后添加一个字段。 基本上,我希望它'计数',在estimate_versions中的记录数,包含当前行,estimate.id,这里是我在最终字段中基本上想要的一些非工作伪代码
count(where estimate_versions.estimate_id = estimates.id)
当我尝试做几种不同的方法来实现这一点时,我通常会获得一行数据,其中包含一个数字。而不是让我们说3条记录,而count字段包含适当的数字。
期待获得一些急需的帮助,我的SQL技能很差。
答案 0 :(得分:2)
我认为这就是你要找的东西。
SELECT estimates.id,
estimates.estimate_number,
estimates.description,
estimates.meeting_date,
estimates.job_date,
estimates.status,
estimates.price,
count(estimate_versions.estimate_id)
FROM
(estimates)
LEFT OUTER JOIN estimate_versions estimate_versions ON estimates.id = estimate_versions.estimate_id
LEFT OUTER JOIN customers customers ON estimates.customer_id = customers.id
WHERE customers.key = 'JsB4ND90bn'
group by
estimates.id,
estimates.estimate_number,
estimates.description,
estimates.meeting_date,
estimates.job_date,
estimates.status,
estimates.price