tblUserProfile得到行,否則隨機行 - 我有持有的所有資料信息(太多字段)的表查詢到從一個表從另一個
tblMonthlyProfiles - 它只有在它的簡檔(在另一個表想法是,這個表擁有2個有時成爲月度配置文件(選擇)的配置文件)
現在,當我需要顯示每月配置文件時,我只需從這個tblMonthlyProfiles做一個選擇,並加入tblUserProfile以獲得所有有效的信息。
如果tblMonthlyProfile中沒有行,則不顯示月度配置文件部分。
現在的要求是總是顯示月度配置文件。如果monthlyProfiles中沒有行,它應該從tblUserProfile中選取兩個隨機配置文件。如果monthlyProfiles中只有一行,它應該只從tblUserProfile中選取一個隨機行。
在單個查詢中完成所有這些操作的最佳方法是什麼?
我覺得這樣的事情
從tblUserProfile P LEFT OUTER JOIN tblMonthlyProfiles中號 上M.profileid = P.profileid ORDER BY NEWID()
選擇頂部2 *但是,這總是給我來自tblProfile的2個隨機行。我該如何解決這個問題?
正如我進一步看到它,我不認爲第二個SELECT需要再次加入到月度表。但無論如何,我希望你明白這個主意。 – LesterDove 2010-03-25 14:50:14
但在這個查詢中,隨機事件發生在哪裏?配置文件表有數百條記錄,我只需要任意2個隨機行。 – 2010-03-25 14:50:55
第二個查詢應該有NEWID()隨機數發生器。編輯它。 – LesterDove 2010-03-25 14:52:57