Kategorie szkoleń | Egzaminy | Kontakt
  • 2
  • 0
  • 1

dzień dobry

czy ktoś może mnie oświecić co tu jest nie tak

SELECT MODEL, CASE WHEN SUBSTRING(SystemInfo.WORKSTATIONNAME, 1, 3) = 'EC-' THEN 'Komputer' WHEN SUBSTRING(SystemInfo.WORKSTATIONNAME, 1, 3) = 'PT-' THEN 'Tablet' ELSE 'NIEWIEM' END AS RODZAJ,
1 AS ile
FROM SystemInfo Pivot
(
sum(ile) for RODZAJ in ([Komputer], [Tablet],[NIEWIEM]))

 

a bład jest taki 

Error in FROM clause: near ')'.
Unable to parse query text.

Przemysław_Żak_b5ap
  • Zapytał
  • @ Przemysław_Żak_b5ap | 14.09.2020
    • 0
    • 0
    • 0

Odpowiedzi (2)

  • 0

Zabrakło Ci zewnętrznego selecta wskazującego, co chcesz pobrać z przestawionej tabeli:

select * from (
	SELECT MODEL
		,CASE SUBSTRING(SystemInfo.WORKSTATIONNAME, 1, 3) 
			WHEN'EC-' THEN 'Komputer'
			WHEN 'PT-' THEN 'Tablet'
			ELSE 'NIEWIEM'
		END AS RODZAJ
		,1 AS ile
	FROM SystemInfo
) as tbl
Pivot (sum(ile) for RODZAJ in ([Komputer], [Tablet],[NIEWIEM])) as AsyncOperation

 

Mirosław_Janiak
  • Odpowiedział
  • @ Mirosław_Janiak | 14.09.2020
    • 1
    • 7
    • 1
  • 0

Bardzo dziękuję

co prawda niestety nie do końca rozwiazuje to mój problem. Faktycznie realizując te zapis w Microsoft SQL Managment studio to działa ale w systemie który działa na tej bazie danych już po zmianie wersji nie działa ale to już tylko problem systemu niestety.

Tak już żeby było dokładnei to takie coć działało ponad rok

SELECT * from ( select ResourceState.DISPLAYSTATE "Status",
CASE
WHEN SUBSTRING(workstation.WORKSTATIONNAME, 1, 3) = 'EC-' THEN 'Komputer'
WHEN SUBSTRING(workstation.WORKSTATIONNAME, 1, 3) = 'PT-' THEN 'Tablet'
ELSE 'NIEWIEM' END AS RODZAJ, 1 AS ile
FROM SystemInfo AS workstation INNER JOIN
Resources ON workstation.WORKSTATIONID = Resources.RESOURCEID INNER JOIN
ResourceState ON Resources.RESOURCESTATEID = ResourceState.RESOURCESTATEID
WHERE (ResourceState.DISPLAYSTATE = N'In Use' OR
ResourceState.DISPLAYSTATE = N'in store' OR
ResourceState.DISPLAYSTATE = N'wsparcie') AND (workstation.WORKSTATIONNAME LIKE N'ec-%' OR
workstation.WORKSTATIONNAME LIKE N'pt-%')) source
PIVOT (sum(source.ile)
for source.rodzaj in ([Komputer],[Tablet])) as pv
order by 1

jeszcze raz bardzo dziekiuje za pomoc. na pewno teraz jest super przejrzyście

Przemysław_Żak_b5ap
  • Odpowiedział
  • @ Przemysław_Żak_b5ap | 15.09.2020
    • 0
    • 0
    • 0