我爲小型CRM系統進行了數據庫設計。它由公司和會議(包括其他)組成。我的SQL加入/羣組/光標問題時遇到問題
公司具有以下字段: ID(初級,auto_inc) 名稱(文本)
會議有以下字段: ID(初級,auto_inc) CompanyId(鏈接到Companies.ID) WhenTime(日期時間,以便在會議時存儲) 備註(有關會議的文本)
我想完成的是一個查詢,該查詢給出了所有公司(表中所有字段)的列表,以及WhenTime和Notes與該公司的最新會議(最新是最大(WhenTime),如果沒有,則是a NULL會很好)。
我想我可以用光標解決這個問題,但是我害怕速度。
我已經嘗試了幾組按配方,但我擔心我缺乏所需的技巧。
我的最後一次嘗試是這樣的:
select Companies.ID, Companies.name, mts.whentime, mts.notes
from Companies
left outer join (
select top(1) *
from Meetings
order by [whentime] desc
) mts
on Companies.ID = mts.companyID
order by Companies.name asc
但是這個代碼只需從會議一個元組,在加入每家公司不是一個,所以一點也不好。
任何想法?
你需要列出所有的公司,或者只有那些有過至少一次會議? – 2010-01-21 15:29:14
所有公司,如果有最新的會議時間和東西 – Tominator 2010-03-25 16:06:26