Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> polaczenie kilku tabel z kilkoma warunkami
edziu
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 2.03.2010

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


Mam takie dwie tabele:
ID pracownika | nazwa uprawnienia | reszta nieistotna:)
0 a
0 b
0 c
1 d
1 a
Pracownicy

ID pracownika | Imie | Nazwisko | reszta nieistotna:)
0 ddd ddd
1 aaa aaa
ztym ze ilosc pracownikow jest nieograniczona a uprawnień jest 21
chodzi mi o zapytanie które zwróci mi imie nazwiska pracownika ktory ma uprawnienia a i b i c
lub a i c i tak dalej dla 2 uprawenien mam takie zapytanie:
  1. SELECT =" SELECT [Imię], [Nazwisko] "+
  2. "FROM Pracownicy "+
  3. "WHERE [ID_pracownika] IN ("+
  4. "SELECT U1.ID_pracownika "+
  5. "FROM Uprawnienia AS U1 INNER JOIN Uprawnienia AS U2"+
  6. " ON (U1.ID_pracownika = U2.ID_pracownika) AND ((U1.[Nazwa uprawnienia] ='" + checkedListBox1.Items[0].ToString() + "') AND (U2.[Nazwa uprawnienia] = '" + checkedListBox1.Items[1].ToString() + "')))";
  7.  

dla 3 juz mi niechce działąc wywala mi bład skladniowy
  1.  
  2. SELECT = " SELECT [ID_pracownika], [Imię], [Nazwisko], [Dział], [Stanowisko] " +
  3. "FROM Pracownicy " +
  4. "WHERE [ID_pracownika] IN (" +
  5. "SELECT U1.ID_pracownika " +
  6. "FROM Uprawnienia AS U1 INNER JOIN Uprawnienia AS U2" +
  7. " ON (U1.ID_pracownika = U2.ID_pracownika) AND ((U1.[Nazwa_uprawnienia] ='" + checkedListBox1.CheckedItems[0].ToString() + "') AND (U2.[Nazwa_uprawnienia] = '" + checkedListBox1.CheckedItems[1].ToString() + "')) " +
  8. " INNER JOIN Uprawnienia AS U3 " +
  9. "ON (U2.ID_pracownika = U3.ID_pracownika) AND (U3.[Nazwa_uprawnienia] = '" + checkedListBox1.CheckedItems[2].ToString() + "'))";




2 sprawy 1 nie wiem gdzie ten blad zekomo i 2 takie zapytania bym musial formułowac kolejno dla 4 warunkow 5 i tak dalej a to nie jest zbyt optymalna metoda macie koncepcje na inne rozwiazanie tego problemu??
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 22.08.2025 - 05:33