Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem MS SQL dotaz

ms sql serve 2012

name	pom	typ	hod
AB123	5	KK	0
AB123	10	AK	2
AB123	12	CK	3
AC111	5	CK	1
AC111	7	AK	2
AD222	10	KK	3
AD222	20	CK	0
AD222	30	DK	0

Mam takovou tabulku a potrebuju vypsat radek kde je v "typ" KK a nasledujici nasledujici radky/radek (staci jeden z nasledujicich) daneho "name" v poradi dle "pom" (ktere muze mit ruznou hodnotu, kroku) maji "hod" vetsi nez 0
takze z prikladu je to radek AB123 5 KK 0
Diky za pomoc

Předmět Autor Datum
Možná takhle: select * from tabulka t where t.typ = "KK" and exists (select * from tabulka t2 where…
Wikan 25.06.2015 20:22
Wikan
Musi to porovnave jen stejne "name" u daneho "typ" KK a nasledujici "pom"
zuio 26.06.2015 05:17
zuio
Však to dělá, ne? poslední
Wikan 26.06.2015 07:07
Wikan
1. špatně navržená databáze (není normalizovaná) 2. nějak jsem nepochopil - jak mám poznat, který řá…
touchwood 25.06.2015 20:28
touchwood
nepisal si sql 10 rokov ale vies, ze je to zle navrhnute :-D. co tu chces normalizovat? a co by mu t…
wam_Spider007 25.06.2015 20:41
wam_Spider007
To je hodne orezany uz vyselektovany prikaz abych zjistil jen to co potrebuju
zuio 26.06.2015 05:11
zuio

1. špatně navržená databáze (není normalizovaná)
2. nějak jsem nepochopil - jak mám poznat, který řádek je "následující", když tam nemáš ani primární klíč?

teoreticky:

 select top 1 * from tabulka where typ = 'KK' and hod > 0 order by pom;

netestoval jsem a SQL jsem naposledy psal před 10 lety.

edit: ale opravdu netuším, zda jsem pochopil zadání. Připadá mi naprosto zmatečné.

Zpět do poradny Odpovědět na původní otázku Nahoru