

MS SQL dotaz
Potreboval by som pomoct s dotazom
1. tabulka = rodne cislo, meno, priezvisko a podobne
2. tabulka - rodne cislo, typ, hodnota
tabulky su previazane cez rc, 1:N, v druhej tabulke su v podstate rozsirujuce udaje, v stlpci typ je nazov udaju, v stlpci hodnota je jeho hodnota. Napr pre rodne cislo 11111111/1111 moze byt v tbl 2 zapis niekolko riadkov rc, typ , hodnota napr.
ulica-Novotna, tel-123456, heslo- abcdef, email-jaja@ab.sk, ulica_cislo-20, mobil-09012345678 atd atd
Potrebujem vytiahnut z prvej tabulky rc, meno ak v druhej tabulke chyba riadok v type napr. heslo a email, resp. je typ alebo email ale hodnota pre ne je prazdna, teda maju zadanu napr len ulicu a ulica_cislo
polozka v stlpci typ je v podstate lubovolna (podla cislenika) . . .
Mozno to je blbo navrhnuta struktura, ale ja s tym uz nic nespravim . . . a aj toto je v podstate len taka jednorazova zostava.
Musi to byt jeden select, ziaden program alebo makro alebo funkcia, ak by mal niekto napad, tak dik.
Dufam ze som to napisal zrozumitelne.
Ano, je to špatný návrh databáze.
Pokud máš tabulku, kde máš různé typy dat, pak potřebuješ další tabulku, kde bude seznam těch typů (o referenční integritě ani nemluvím).
Pokud budeš mít seznam typů, pak si jednoduše jedním dotazem vypíšeš, vše, co ti chybí v tabulce 2.
Použij LEFT OUTER JOIN
Jinak bys tu tabulku se seznamem musel v tomto dotazu (a ve všech dalších) uměle vytvářet.
Pak by to mohlo vypadat nejak takto, chybejici typy si dopln.
Pokud bys mel tabulku se seznamem typu, pak ji tam das misto toho konstruktu
DAkujem vsetkym, ako to byva, netreba sa do vsetkeho hned hrnut, treba to nechat chvilu vyhnit, nakoniec to ani nebude treba. Este raz vdaka.