![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Nie moge poradzic sobie ze zlożeniem 2 zapytan razem. WIem ze to jest mozliwe, ale nie umiem poradzic sobie z tym
Mam tabele Access user_id | page_id | serwis page site_id | mod | parametr| serwis teraz potrzebuje zapytanie, które pobiera z tabeli 'page' wszystkie kolumny poza serwis takim zapytaniem [sql:1:1d16d2b5c5]SELECT site_id, mod, parametr FROM page WHERE serwis = 'x'[/sql:1:1d16d2b5c5] i chce zeby dołączyc do tego zapytanie ktore bedzie sprawdzac czy istanieje wpis spelniajacy takie warunki [sql:1:1d16d2b5c5]SELECT IF(count(access.page_id) > 0, 1, 0) AS sccess FROM access, page WHERE access.page_id = page.site_id AND serwis = 'x' AND user_id = 'z'[/sql:1:1d16d2b5c5] opis drugiej czesci: Jesli istanieje wpis w tabeli access spelniajacy warunki, to zapytanie oddaje 1, jesli nie istnieje oddaje 0. Chcialbym to polaczyc razem ze pierwszym zapytaniem ale poprostu nie wiem jak. Za pomoc z gory bardzo dziekuje -------------------- Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota Zarządzaj swoim budżetem domowym |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 223 Pomógł: 0 Dołączył: 13.01.2003 Skąd: 3rd ball of mud behind a big ball of burning gas Ostrzeżenie: (0%) ![]() ![]() |
Tak na szybko (ale nie gwarantuje, że będzie działać):
[sql:1:bc65ac1c6a]SELECT page.site_id, page.mod, page.parametr, IF(count(access.page_id) > 0, 1, 0) AS sccess FROM page, access WHERE page.serwis = 'x' AND access.page_id = page.site_id AND page.serwis = 'x' AND access.user_id = 'z' GROUP BY site_id[/sql:1:bc65ac1c6a] Pozdrawiam. -------------------- It's Time to Join the PLD Linux Generation!
<? while (!$success) { $try++; } ?> |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Działa super, ale niestety nie w pełni tak jak bym oczekiwał.
Dostaje tylko te rekodry gdzie access jest rowny 1, a natomiast nie podaje reszty. Wydaje mi sie ze trzeba by zastosowac tam jakis JOIN, ale nie znam tego. -------------------- Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota Zarządzaj swoim budżetem domowym |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
[sql:1:7db56e8258]SELECT p.site_id AS site_id,
p.mod AS mod, p.parametr AS parametr, IF( count(distinct a.page_id) > 0, 1, 0) AS access FROM page p LEFT JOIN access a ON ( a.page_id = p.site_id AND p.user_id = 'z' ) WHERE p.serwis = 'x' GROUP BY p.site_id[/sql:1:7db56e8258] Pisane z palca :/ No i nie wiem z której tabeli pochodzi user_id (w podanych przez Ciebie tabelach nie występuje). |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
user_id jest z tabeli access po poprawdze dziala super
![]() -------------------- Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota Zarządzaj swoim budżetem domowym |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat user_id jest z tabeli access
Faktycznie, nie zauwazylem ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 16:48 |