Музыка: | Pitchshifter - The Remix War |
Access SQL <> SQL Server SQL -2
Раз пайшла такая п'янка, распавяду пра баг, што мне найболей запомніўся.
Карацей, так: дакумэнты ляжаць у тэчках, у кожнай тэчцы ў таго-ж самага дакуманта свой статус. Трэба паказаць усе дакумэнты, што запрасіў карыстальнік, статус патрэбны для некаторых рэчаў далей. Пры гэтым у 99.9% выпадкаў карыстальнік просіць дакумэнты з адной тэчкі, але часам можа запрасіць зь колькіх тэчак адначасова. Карацей, запыт:
SELECT DocID, AVERAGE(Status)
FROM DocsInFolder
WHERE FolderID IN (<folderlist>)
GROUP BY DocID
З нумароў дакумэнтаў будуецца файл і пампуецца ў BRS/Search
Пад Access'ам усё працавала як гадзіньнік. Перагналі пад SQL Server - не працуе! Дакладней, працуе, але паказвае ня ўсе дакумэнты. Сталі калупацца - код не зьмяніўся, запыт дастае ўсе дакумэнты, а BRS чамусьці паказвае ня ўсе.
Палезлі глыбей - апынулася, што BRS патрабуе, каб нумары дакумэнтаў у файле былі адсартаваныя. Разумны Access, убачыўшы GROUP BY, аўтаматычна сартаваў па полю групоўкі. SQL Server прыйшлося лячыць, дадаваць ORDER BY