Autor | Zpráva | ||
---|---|---|---|
MarekSochor Profil |
#1 · Zasláno: 3. 4. 2013, 11:15:23
Zdravím, potřebuju Z databáze vypsat Dva sloupce - v jednom bude zda se jedná o Brněnského uživatele nebo Mimo Brněnského, v druhém sloupci bude počet těch uživatelů, sesmolil jsem následující dotazy :
Toto je jasné - vyhodí počet mimo Brněnských select 'Určeni'=COUNT(*) from knihovna.ctenar WHERE knihovna.ctenar.mesto NOT LIKE 'Brn%' Opět jasné - vyhodí počet Brněnských select 'Určeni'=COUNT(*) from knihovna.ctenar WHERE knihovna.ctenar.mesto LIKE 'Brn%' A zde narážím na problém - nevím, jak spočítat sloupec "Urceni" kdyz ho fyzicky v databazi nemám ... díky za rady SELECT *, case when knihovna.ctenar.mesto NOT LIKE 'Brn%' then 'Mimo Brno' when knihovna.ctenar.mesto LIKE 'Brn%' then 'Brno' end as 'Urceni' from knihovna.ctenar |
||
Tori Profil |
#2 · Zasláno: 3. 4. 2013, 11:26:04
SELECT (mesto LIKE 'Brn%') as jeBrnak, COUNT(*) FROM ctenar GROUP BY jeBrnak V prvím sloupci dostanete 0 nebo 1, v druhém počet.
|
||
MarekSochor Profil |
#3 · Zasláno: 3. 4. 2013, 11:36:28
díky za rychlou odpověď, nevím zda si rozumíme - váš dotaz mi hlásí chybnou syntaxi v okolí like, porřebuji takový select, který vypíše takovýto výsledek -
díky za pomoc. |
||
MarekSochor Profil |
#4 · Zasláno: 3. 4. 2013, 13:02:52
Tak jsem se posunul, bohužel však ne do výsledku kam bych chtěl :
select case when knihovna.ctenar.mesto NOT LIKE 'Brn%' then 'Mimo Brno' when knihovna.ctenar.mesto LIKE 'Brn%' then 'Brno' end as 'Urceni', COUNT (knihovna.ctenar.mesto) as 'Počet' from knihovna.ctenar group by knihovna.ctenar.mesto ale vypisuje me to : Brno 1 Brno 1 Brno 1 Brno 1 Mimo Brno 1 Mimo Brno 1 |
||
Tori Profil |
MarekSochor:
„váš dotaz mi hlásí chybnou syntaxi v okolí like“ Kde přesně? Jen jste to zkopíroval, nebo nějak změnil? Mně to takhle fungovalo. Ad [#4] je potřeba seskupovat podle výsledku toho CASE, teda GROUP BY Urceni . Když chcete (Brno|Mimo Brno) místo (0|1), tak se dá použít i SELECT IF(mesto LIKE 'Brn%', 'Brno', 'Mimo Brno') AS Urceni
|
||
MarekSochor Profil |
#6 · Zasláno: 3. 4. 2013, 13:59:00
pokud použiji příkaz od vás sql server mi vrací
Msg 156, Level 15, State 1, Line 1 Incorrect syntax near the keyword 'LIKE'. bohužel jsem nenašel chybu |
||
Tori Profil |
#7 · Zasláno: 3. 4. 2013, 14:05:56
A je to MySQL nebo něco jiného?
|
||
MarekSochor Profil |
#8 · Zasláno: 3. 4. 2013, 14:10:40
Microsoft SQL Server Managment Studio
|
||
Tori Profil |
#9 · Zasláno: 3. 4. 2013, 14:21:36
Aha, tak to bude asi příčina té syntakt.chyby, MSSQL neznám. Nechte teda ten funkční dotaz ve [#4] a jen změňte na
GROUP BY Urceni (to by snad mohlo být ok).
|
||
Časová prodleva: 11 let
|
0