Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 1.04.2004 Skąd: Warszawa Ostrzeżenie: (0%)
|
Walcze z tym od wczoraj i pomyslalem ze moze wy mnie nakierujecie na rozwiazanie. Chodzi o odpowiednie wyciagniecie danych z tabeli ktora jest relacja wiele do wielu dla dwoch innych tabel.
Wyglada to mniej wiecej tak w duzym skrocie: tabela: hardware HardID 1 HardID 2 HardID 3 tabela: software SoftID 10 SoftID 11 SoftID 12 tabele: cthardtosoft HardID 1; SoftID 10 HardID 1; SoftID 11 HardID 1; SoftID 12 HardID 2; SoftID 10 HardID 2; SoftID 11 HardID 3; SoftID 10 Zapytanie w postaci listy wszystkich komputerow ktore POSIADAJA jakis soft to prosta sprawa. Ale mam klopot z odwrotna sytujacja. Chce liste komputerow ktore np. NIE POSIADAJA softu o ID 12 Probowalem w taki sposob ale mam przeklamane dane:
lub tak:
Jezeli mam wybierac to wolalbym jedno zapytanie, bez podzapytan. Mam do dyspozycji MySQL 4.1 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
@bendi a wiec przezucmy ze zloczenia do where:
no chyba cos nie tak (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) oba warunki w where sie wykluczaja nawzajem. pozatym ma byc rozne od 12 no to kombinujmy dalej: no teraz tez nie za dobrze, gdyz to zapytanie zwroci nam wsyzstkie z HardID z przykladu czyli: 1,2,3. Kazdy z nich ma taki rekord, ze SoftID!=12. na dodatek te rekordy beda sie powtarzac (trzeba by wiec dac distinct). Tak wiec nie chodzi tu o zapobieganie niepotrzebnemu ladownaiu danych, ale chodzi o poprawnosc otrzymanych wynikow. Pobieranie w zlaczeniu rekordow, ktore zawierają id=12 da nam na wyjsciu rekordy ktore ten soft zawierają i te ktore go nie zawierają. a ze nas interesują tylko te ktore nie zawierają, wiec wystraczy juz tylko where dopisac |
|
|
|
Sierak Relacja wiele do wielu - wyciąganie danych 22.06.2006, 08:19:50
nospor hmmmm, tak teoretycznie, bez sprawdzania:
[SQL] po... 22.06.2006, 08:27:21 
bendi Cytat(nospor @ 22.06.2006, 09:27 ) ps: i ... 22.06.2006, 11:44:13
Sierak @nospor - dzieki, dziala ... nie ma to jak uczucie... 22.06.2006, 08:39:53
bendi Zaraz zaraz a co z:
[SQL] pobierz, plaintext SELEC... 22.06.2006, 12:27:53
nospor @bendi ale przeciez ci pisalem, ze warunek HS.Hard... 22.06.2006, 12:34:47
bendi Dobra chyba powoli zaczynam kapować, jakby co zgło... 22.06.2006, 12:59:47
Sierak Cały problem polegał na tym, że jest to relacja wi... 22.06.2006, 14:10:40 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 16:22 |