0

我有三张桌子。Estimates、Estimate_versions 和客户。

这是一些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 条记录和包含适当数字的计数字段。

期待收到一些急需的帮助,我的 SQL 技能很弱。

4

1 回答 1

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
于 2013-06-12T17:47:25.543 回答