我不確定我的問題的最佳標題是什麼,但我會在下面解釋我的問題/問題:SQL - 對於查詢中的每個循環
我正在使用以下查詢,在那裏我過濾器在工作單,我推測這一切的歷史,這是我需要在我的報告中顯示:
select a.name, d.data, h.started, e.name, * from wshhistory h
join asset a
on a.uid = h.assetid
join wshfld d
on h.uid = d.wshhistid
join fielddefinition f
on d.flddefid = f.uid
join enumlookup e
on h.assetstatus = e.uid
where h.shdid = '43FEB092-D3B1-4008-9C44-A3A249987849' order by a.name, h.started asc
我的結果是好的,但...
什麼我需要的是每個(唯一)資產只有1行(最後/最上面一行),其他行全部爲列,這樣我們每個資產只有1行。 所以,我的報告是這樣的:
在vb.net我將與每個遍歷所有的資產去解決這個問題,但我的SQL知識是有限的,和我不知道如何在查詢中解決這個問題。
有什麼想法?
提前致謝!
的可能的複製[選擇每個GROUP BY組第一排?](http://stackoverflow.com/questions/3800551/select-first-row-in-each-group-by-group) –
如果我想的名字(或資產ID)組,然後我得到的消息: 列「asset.name」在選擇列表中無效,因爲它不是在聚合˚F載unction或GROUP BY子句。 如果我想刪除所有這些選擇標準,並與去*然後我仍然得到同樣的錯誤信息,但與另一列(「wshhistory.uid」) – GertDeWilde
如果是分組您是不是所有的列需要組聚集。你應該避免使用select *,無論如何,明確地命名列。 –