Autor Zpráva
miskith
Profil
Dobrý den,
Nevěděl sem, jaký mám dát titulek, ani nevím, jak to mám nejlépe vysvětlit, tak uvedu příklad:

num1 | num2 | num3 | num4 | Jméno

100 | 0 | 0 | 0 | Řádek1
101 | 10 | 20 | 30 | Řádek2
102 | 800 | 801 | 802 | Řádek3
800 | 0 | 0 | 0 | Řádek4
801 | 0 | 0 | 0 | Řádek5
802 | 0 | 0 | 0 | Řádek6

Normální výpis by vypsal všechny řádky, ale já chci vypsat pouze řádky se jmény "ŘÁDEK1", "ŘÁDEK2" a "ŘÁDEK3", protože neobsahují žádné číslo, které je poté obsažené ve sloupci "num1"...
ŘÁDEK2 obsahuje sice jiná čísla než '0' , ale chci, aby ho SQL zahrnulo, protože čísla (10, 20, 30) nejsou obsažena v žádné ze záznamů ve sloupci "num1".

Snad jste mě pochopili a děkuji za odpověď :).
Kajman_
Profil *
Moc to zadání nedává smysl, pokud platí popis a nemají se tedy vypsat řádky 1 2 3, ale řádky 1 2 4 5 6, tak by to mohlo být např. takto

select t.* from tabulka t
left join tabulka n2 on t.num2=n2.num1
left join tabulka n3 on t.num3=n3.num1
left join tabulka n4 on t.num4=n4.num1
where n2.num1 is null
      and n3.num1 is null
      and n4.num1 is null


Každopádně to zavání špatně navrženou strukturou.
miskith
Profil
No..strukturu tabulky jsem nedělal já, jde totiž o C++ aplikaci využívající MySQL a já chci některý obsah MySQL vypsat na internetu...

EDITED:
Teď mě napadlo, že sem ten náhled tabulky neudělal přesně... Ty který nechci aby to vybralo mají stejné jméno jako tabulka obsahující jejich num1. Takže tabulka by vypadala nějak takhle:

100 | 0 | 0 | 0 | Řádek1
101 | 10 | 20 | 30 | Řádek2
102 | 800 | 801 | 802 | Řádek3
800 | 0 | 0 | 0 | Řádek3
801 | 0 | 0 | 0 | Řádek3
802 | 0 | 0 | 0 | Řádek3

Takže když dám pak SELECT, tak tam mám ve výsledku 4x Řádek3 a já bych potřeboval jen jednou a to ten, kterej obsahuje čísla v num2,num3,num4 a ty s těma nulama do výběru nezahrnout...
Kajman_
Profil *
select t.* from tabulka t
left join tabulka n2 on n2.num2=t.num1
left join tabulka n3 on n3.num3=t.num1
left join tabulka n4 on n4.num4=t.num1
where n2.num2 is null
      and n3.num3 is null
      and n4.num4 is null
miskith
Profil
Tak sem to zkoušel, ale bohužel bez úspěchu. Stránka se mi nenačetla a zahltil sem server, že sem musel 5 minut čekat, než se načte restart serveru. Ale i tak díky za snahu a nenapadá tě (nebo někoho jiného) jiný způsob?

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: