Autor Zpráva
MarekSochor
Profil
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
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
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
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
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
A je to MySQL nebo něco jiného?
MarekSochor
Profil
Microsoft SQL Server Managment Studio
Tori
Profil
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).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0