[mysql] Wyszukanie =?ISO-8859-2?Q?rekord=F3w=28powiazane_tabel?==?ISO-8859-2?Q?e=29?=
Tomasz Tybusz - 13-03-2006 11:20
[mysql] Wyszukanie =?ISO-8859-2?Q?rekord=F3w=28powiazane_tabel?==?ISO-8859-2?Q?e=29?=
Witam, mam pewien problem. mam dwie tabele powiązane po polu GH. Przy wprowadzaniu do bazy najpierw wprowadza się rekord do pierwszej tabeli, a następnie do drugiej z tym samym kluczem. czasami występuje taka sytuacja, że użytkownikowi podczas prowadzania danych zawiesi się komputer i zostają rekordy w pierwszej tabeli bez powiązania z żadnym rekordem w drugiej tabeli. Jak w najprostszy sposób znaleźć te rekordy przy pomocy kwerendy SQL? Tymczasowo rozwiązałem to poprzez iteracyjne sprawdzanie rekord po rekordzie. Tymczasem poszukuję czegoś w tym stylu: SELECT ID FROM tabela1 WHERE (SELECT COUNT(tabela2.ID) FROM `tabela1`, tabela2 WHERE tabela2.GH=tabela1.ID AND ?????) =0 ORDER BY ID;
Pierwsza tabela musi być oddzielnie od drugiej gdyż jest powiązana z drugą relacją jeden do wielu wersja mysql 5.0.18
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 13-03-2006 11:20
Tomasz Tybusz wrote: > Witam, mam pewien problem. mam dwie tabele powiązane po polu GH. Przy > wprowadzaniu do bazy najpierw wprowadza się rekord do pierwszej tabeli, a > następnie do drugiej z tym samym kluczem. czasami występuje taka > sytuacja, że > użytkownikowi podczas prowadzania danych zawiesi się komputer i zostają > rekordy > w pierwszej tabeli bez powiązania z żadnym rekordem w drugiej tabeli.
Uzywaj transakcji.
> Jak w > najprostszy sposób znaleźć te rekordy przy pomocy kwerendy SQL? Tymczasowo > rozwiązałem to poprzez iteracyjne sprawdzanie rekord po rekordzie. > Tymczasem > poszukuję czegoś w tym stylu: > SELECT ID FROM tabela1 WHERE (SELECT COUNT(tabela2.ID) FROM `tabela1`, > tabela2 > WHERE tabela2.GH=tabela1.ID AND ?????) =0 ORDER BY ID;
Użyje NOT EXIST
> Pierwsza tabela musi być oddzielnie od drugiej gdyż jest powiązana z drugą > relacją jeden do wielu
He?!
> wersja mysql 5.0.18
Tak wogóle jak będziesz do łączenia tebel używał LEFT JOIN, to będziesz widział w aplikacji te rekordy (bo wydaje mi się, że z tym masz problem).
-- P.M.
Tomasz Tybusz - 13-03-2006 11:20
> Tak wogóle jak będziesz do łączenia tebel używał LEFT JOIN, to będziesz widział > w aplikacji te rekordy (bo wydaje mi się, że z tym masz problem). > i o to chodziło, dzięki
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Gdzie MySQL 4.1, a gdzie 5.0?
[MS SQL] "set names" (mySQL) w MS SQL
oracle -> oracle lub oracle -> mysql replikacja - programy
[mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu.
[MySQL] Zwrot tego, co pasuje i nie pasuje :-/
[pgsql] Dostosowanie składni MySQL 5.0 -> PGSQL 8.1
[mysql] galeria zdjec - numerowanie zdjec
[MySQL] Zapytanie z pliku , wynik do pliku
[mysql] CONCAT agregujący, ale nie GROUP_CONCAT()
mysql data 0000-00-00 na koniec
zanotowane.pldoc.pisz.plpdf.pisz.plradioaktywni.htw.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 |
|