[SQL] W jaki sposób zwrócić wiersze które NIE znadują się w 2 pozostałych kolumnach
work - 05-03-2007 00:00
[SQL] W jaki sposób zwrócić wiersze które NIE znadują się w 2 pozostałych kolumnach
W jaki sposób zwrócić wiersze które NIE znadują się w 2 pozostałych kolumnach
2 tabele - artifact i requirement_tree
chce zwrócić artifact_id jeśli NIE istnieje takie id w parent_id oraz w child_id. ----------- ------------------------ | artifact | | requirement_tree | ----------- ------------------------ artifact_id parent_id child_id
Baza MySQL
MP - 05-03-2007 00:00
=?iso-8859-2?Q?Re:_=5BSQL=5D__W_jaki_spos=F3b_zwr=F3ci=E6_wie rsze_kt=F3re?==?iso-8859-2?Q?_NIE_znaduj=B1_si=EA_w_2_pozosta=B3ych_kolumna ch?= Użytkownik "work" <chlopaczyna@opt.pl> napisał w wiadomości news:ese50u$q1a$1@news.onet.pl... >W jaki sposób zwrócić wiersze które NIE znadują się w 2 pozostałych >kolumnach > > 2 tabele - artifact i requirement_tree > > chce zwrócić artifact_id jeśli NIE istnieje takie id w parent_id oraz w > child_id. > ----------- ------------------------ > | artifact | | requirement_tree | > ----------- ------------------------ > artifact_id parent_id > child_id > > Baza MySQL >
SELECT artifact_id FROM artifact WHERE NOT EXISTS( SELECT parent_id, child_id FROM requirement_tree )
MP
Marek Zgadzaj - 07-03-2007 00:05
Użytkownik "MP" <marek@w.tkb.pl> napisał w wiadomości news:ese60r$30k$1@nemesis.news.tpi.pl...
> SELECT artifact_id > FROM artifact > WHERE NOT EXISTS( SELECT parent_id, child_id FROM requirement_tree )
Ten select w nawiasie zwróci WSZYSTKIE parent_id i child_id, zatem raczej jest niemożliwe aby warunek WHERE był kiedykolwiek spełniony, chyba, że tabela requirement_tree jest pusta.
Moim zdaniem select w nawiasie ma zwracać tylko te wiersze, które mają identyczny ID co artifact_id.
Powinno to wyglądać jakoś tak:
SELECT artifact_id FROM artifact WHERE NOT EXISTS( SELECT parent_id, child_id FROM requirement_tree WHERE NOT parent_id = artifact_id AND NOT child_id = artifact_id )
Marek
MP - 07-03-2007 00:05
=?iso-8859-2?Q?Re:_=5BSQL=5D__W_jaki_spos=F3b_zwr=F3ci=E6_wie rsze_kt=F3re?==?iso-8859-2?Q?_NIE_znaduj=B1_si=EA_w_2_pozosta=B3ych_kolumna ch?= Użytkownik "Marek Zgadzaj" <ui@nospamzgadzaj.hg.pl> napisał w wiadomości news:esjli3$9j3$1@inews.gazeta.pl... > Użytkownik "MP" <marek@w.tkb.pl> napisał w wiadomości > news:ese60r$30k$1@nemesis.news.tpi.pl... > >> SELECT artifact_id >> FROM artifact >> WHERE NOT EXISTS( SELECT parent_id, child_id FROM requirement_tree ) > > Ten select w nawiasie zwróci WSZYSTKIE parent_id i child_id, zatem raczej > jest niemożliwe aby warunek WHERE był kiedykolwiek spełniony, chyba, że > tabela requirement_tree jest pusta. > > Moim zdaniem select w nawiasie ma zwracać tylko te wiersze, które mają > identyczny ID co artifact_id. > > Powinno to wyglądać jakoś tak: > > SELECT artifact_id > FROM artifact > WHERE NOT EXISTS( SELECT parent_id, child_id FROM requirement_tree WHERE > NOT parent_id = artifact_id AND NOT child_id = artifact_id ) > > Marek
Dzieki za zwrocenie uwagi. Nie wiem czemu WHERE wyparowało ;-)
MP
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?=
Jak =?windows-1250?Q?pobra=E6_szacowan=B9_wielko=9C=E6_zbiory_wy nikowego_w_MS?==?windows-1250?Q?_SQL_2005=3F?=
=?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?=
[MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?=
=?ISO-8859-2?Q?k=B3opot_z_uruchomieniem_MY_SQL_dla_C?==?ISO-8859-2?Q?MS_i_CRM_na_Fedora_Core_3?=
Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?=
[MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?=
=?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?=
[Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?=
=?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.plshanti.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|