pomoc so SQL selectom

Sekcia: Programovanie 28.03.2010 | 13:20
Avatar maor Mint, Debian, Raspbian, LibreELEC  Používateľ
Zdravím, mám takýto problém so SQL:
Mám dve tabuľky. V tab.2 je id primárny kľúč a v tab.1 je id cudzí kľúč odkazujúci na id v druhej tabuľke. Potreboval by som urobiť select, kde budú výsledkom riadky z tab.2, ktorých id nie je v tab.1.

tab.1
id | hodnota1
-------------
a | xxx
b | yyy

tab.2
id | hodnota2
-------------
a | aaa
b | bbb
c | ccc
d | ddd
    • Re: pomoc so SQL selectom 28.03.2010 | 15:07
      wamba   Návštevník
      SELECT *
      FROM pokus2
      LEFT JOIN pokus
      ON pokus.id=pokus2.id
      WHERE pokus.id IS NULL;
      GO
    • Re: pomoc so SQL selectom 28.03.2010 | 15:27
      WlaSaTy   Návštevník
      select * from tab2 were id not in (select distinct id from tab1);

      Pokial sa ovsem pytas na to ako zistit nekonzistentne zaznamy ziskane pri poskodeni indexov nad klucovymi polozkami referencnych tabuliek, tak musis tie indexy/kluce zrusit.

      PS.: co je to vobec za DB a aka je tam verzia (popripade patchlevel)?
      • Re: pomoc so SQL selectom 28.03.2010 | 18:54
        Avatar maor Mint, Debian, Raspbian, LibreELEC  Používateľ
        Tvoje riešenie mierne modifikované mi plne postačuje, nič zložitejšie nepotrebujem. Ďakujem.
        • Re: pomoc so SQL selectom 28.03.2010 | 20:29
          WlaSaTy   Návštevník
          Na tu databazu som sa pytal len preto ze si pisal o foreign key a zistovani jeho nekonzistentnosti. Zaujimalo ma len ze ktory software v tomto tisicroci pouziva klucove slovo ale neimplementuje jeho funkcionalitu. Takto kedysi ojebabraval MySQL.

          • Re: pomoc so SQL selectom 29.03.2010 | 00:42
            Avatar maor Mint, Debian, Raspbian, LibreELEC  Používateľ
            postgres, tuším vo verzii 8.3
            • Re: pomoc so SQL selectom 29.03.2010 | 00:53
              WlaSaTy   Návštevník
              Takze aj pg, dobre vediet.

              D'.