Czyli muszę zrobić tak? (rozwiązanie wydaję się trochę niepotrzebnie obciążające bazę)
ORDER BY isnull((select ltrim(rtrim(replace (ca.Nazwa,'T:',''))) from ModelDanychContainer.CechyAsortymentuAsortyment caa join ModelDanychContainer.CechyAsortymentu ca on ca.Id = caa.Cechy_Id WHERE caa.Asortymenty_Id = ModelDanychContainer.Asortymenty.Id AND ca.Nazwa LIKE 'A:%'))
Jeśli robię:
isnull(Grubość)
to otrzymuję błąd 207 INVALID COLUMN NAME 'GRUBOŚĆ' - właśnie tego dotyczyło drugie pytanie
Dodatkowo pokazuje mi, że dla isnull trzeba podać 2 argumenty, lecz mimo podania 2 argumentu jako: 999999 sortowanie się nie zmienia. cały kod wygląda tak:
SELECT
Asortymenty.Id
,Asortymenty.Symbol
,Asortymenty.Nazwa
,'Grubość' = isnull((select ltrim(rtrim(replace (ca.Nazwa,'A:',''))) from ModelDanychContainer.CechyAsortymentuAsortyment caa join ModelDanychContainer.CechyAsortymentu ca on ca.Id = caa.Cechy_Id WHERE caa.Asortymenty_Id = ModelDanychContainer.Asortymenty.Id AND ca.Nazwa LIKE 'A:%'),'BRAK WYMIARU')
,'Szerokość' = isnull((select ltrim(rtrim(replace (ca.Nazwa,'B:',''))) from ModelDanychContainer.CechyAsortymentuAsortyment caa join ModelDanychContainer.CechyAsortymentu ca on ca.Id = caa.Cechy_Id WHERE caa.Asortymenty_Id = ModelDanychContainer.Asortymenty.Id AND ca.Nazwa LIKE 'B:%'), 'BRAK WYMIARU')
,'Wysokość' = isnull((select ltrim(rtrim(replace (ca.Nazwa,'C:',''))) from ModelDanychContainer.CechyAsortymentuAsortyment caa join ModelDanychContainer.CechyAsortymentu ca on ca.Id = caa.Cechy_Id WHERE caa.Asortymenty_Id = ModelDanychContainer.Asortymenty.Id AND ca.Nazwa LIKE 'C:%'), 'BRAK WYMIARU')
,'Stan' = Sum(StanyMagazynowe.IloscDostepna)
FROM ModelDanychContainer.Asortymenty
FULL OUTER JOIN ModelDanychContainer.GrupyAsortymentu ON Asortymenty.Grupa_Id=GrupyAsortymentu.ID
INNER JOIN ModelDanychContainer.StanyMagazynowe ON StanyMagazynowe.Asortyment_ID=Asortymenty.ID
WHERE ModelDanychContainer.GrupyAsortymentu.Nazwa Like 'Alternatory'
AND Asortymenty.IsInRecycleBin Like 0
GROUP BY Asortymenty.ID,Asortymenty.Symbol,Asortymenty.Nazwa
ORDER BY
isnull((select ltrim(rtrim(replace (ca.Nazwa,'T:',''))) from ModelDanychContainer.CechyAsortymentuAsortyment caa join ModelDanychContainer.CechyAsortymentu ca on ca.Id = caa.Cechy_Id WHERE caa.Asortymenty_Id = ModelDanychContainer.Asortymenty.Id AND ca.Nazwa LIKE 'A:%'),999999999999999999999)
,isnull((select ltrim(rtrim(replace (ca.Nazwa,'W:',''))) from ModelDanychContainer.CechyAsortymentuAsortyment caa join ModelDanychContainer.CechyAsortymentu ca on ca.Id = caa.Cechy_Id WHERE caa.Asortymenty_Id = ModelDanychContainer.Asortymenty.Id AND ca.Nazwa LIKE 'B:%'),999999999999999999999)
,isnull((select ltrim(rtrim(replace (ca.Nazwa,'H:',''))) from ModelDanychContainer.CechyAsortymentuAsortyment caa join ModelDanychContainer.CechyAsortymentu ca on ca.Id = caa.Cechy_Id WHERE caa.Asortymenty_Id = ModelDanychContainer.Asortymenty.Id AND ca.Nazwa LIKE 'C:%'),999999999999999999999)
Kod ten tak samo działa dla mojej pierwotnej wersji z
ORDER BY Grubość,Szerokość,Wysokość