Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL]Wybieranie rekordów przypisanych do innej tabeli
sannin
post
Post #1





Grupa: Zarejestrowani
Postów: 308
Pomógł: 13
Dołączył: 31.10.2008

Ostrzeżenie: (0%)
-----


Witam,

mam dwie tabele

szkoly
id,
nazwa,
adres

oraz

nauczyciele

id,
szkola,
imie,
nazwisko

Teraz potrzebuję wybrać szkoły, ale wyłącznie te które mają przypisanego do siebie co najmniej jednego nauczyciela. Zrobiłem to tak:

  1. SELECT * FROM `szkoly` WHERE id IN (SELECT DISTINCT szkola FROM `nauczyciele`);


Czy jest to optymalne rozwiązanie? Może ktoś ma lepszy pomysł na rozwiązanie tego problemu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Mało wydajnie, ale jeśli kolumna szkola w tabeli nauczyciele jest kluczem obcym (do id tabeli szkola) to:

  1. SELECT DISTINCT * FROM szkoly sz, nauczyciele na WHERE na.szkola = sz.id


Ten post edytował darko 31.03.2010, 15:25:13
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 07:04