Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skomplikowane zapytanie do bazy MySQL
Forum PHP.pl > Forum > Bazy danych > MySQL
Leon Zawodowiec
HELP

$zapytanie =
  1. 'select seans_id, seans_data from seanse'


$zapytanie =
  1. 'SELECT tytul FROM filmy
  2. WHERE film_id IN
  3. (SELECT film_id FROM seanse
  4. WHERE seans_data = "24.09.2009")'



Chciałbym je wysłać jako jedno zapytanie tylko nie mam pomyslu jak , i nie wiem czy sie da. Jakies przeblyski, pomysly ? 








Crozin
Nie ma to jak dobrze opisany problem. Domyślam się, że masz tabele:
film: id, tytul
seans: id, fild_id, data
I chcesz wybrać wszystkie filmy wyświetlane danego dnia?
  1. SELECT s.id AS seans_id, s.DATA AS seans_data, f.id AS film_id, f.tytul
  2. FROM seans s
  3. LEFT JOIN film f ON s.film_id = f.id;
Leon Zawodowiec
mam tabele filmy : film_id     rezyser     tytul     gatunek     produkcja     opis     zdiecie     nowosc     archiwum

             seanse : seans_id     seans_data     seans_godzina     sala_id     film_id     seans_odwolany     seans_archiwalny

1 zapytanie daje seanse wyswietlane datami
2 gie daje mi tytul filmu okreslonego seansu na podana date ale potem potrzebuje seans_id aby odwolac sie do danych seansu
thek
Napisz dokładnie CO chcesz uzyskać. Jak ma wyglądać wynik zapytania? Domyślam się, że chcesz wybrać wszystkie filmy wyświetlane tego dnia, o której godzinie i informacje o nich. W takim wypadku:
  1. SELECT s.film_id, GROUP_CONCAT(s.seans_godzina) AS godziny, f.* FROM seans s LEFT JOIN film f ON s.film_id = f.film_id WHERE s.seans_data = '24.09.2009' AND s.seans_odwolany = false GROUP BY s.film_id ORDER BY s.film_id DESC
To wyświetli Ci (a przynajmniej powinno) wszystkie filmy z danego dnia począwszy od najnowszych filmów w bazie (dlatego taki ORDER BY), a dodatkowo z wszystkimi godzinami wyświetlania filmu. Ale to zgaduję, że Twoja wizja. Rozpisz dokładniej co chcesz mieć.
Leon Zawodowiec
 
  1. SELECT s.film_id, GROUP_CONCAT(s.seans_godzina) AS godziny, f.* FROM seanse s LEFT JOIN filmy f ON s.film_id = f.film_id WHERE s.seans_data = '2009-10-24 04:47:12' AND s.seans_odwolany = false GROUP BY s.film_id ORDER BY s.film_id DESC

W ten sposob zadziałało. 

Szkoda ze nie poznalem Cie 2 miesiace wczesniej zaoszczedzil bys mi przy nauce i pracy  sporo dni i godzin. Wysylalem pojedyncze zapytania do bazy potem nastepnie do tabeli nvm. 
  1.  seans_data = '2009-10-24 04:47:12'

zostal zmieniony dla ułatwienia skryptu . Obecnie ucze sie cssa i pracuje nad grafiką mojej pierwszej pracy.Testujac aplikacje czesto natrafiam na problemy wiec jesli jeszcze bede mial pytania postaram sie pisac na priv. 

Wielkie dzieki za pomoc , nawet nie wiedzialem ze mozna wykonywac zapytania w takiej skladni. Tak to juz jest jak uczysz sie php ,MySQL ,JavyScript, javy server pages postgresql, css i w koncu okazuje sie ze tylko liznolem te jezyki ;p
http://leonneon.cba.pl/s.php



projekt ,skrypty , css jest caly czas w rozbudowie wiec nie przestraszcie sie
thek
A myślisz, że ja także większości z tego co wymieniłeś nie znam? winksmiley.jpg Jedynie z JSP jakoś nie miałem okazji się bliżej zapoznać, choć samą Javę jak najbardziej miałem okazji wiele ("Programowanie równoległe i współbieżne" na studiach), Postgresql tylko trochę, bo jednak poznawałem składnię standardu SQL głównie w oparciu o Oracle. Nie jestem może w tym wszystkim bardzo dobry, ale na tyle, że wiem co z czym się je i w razie czego gdzie zajrzeć by się upewnić. I tak jak wielu tutaj piszących (w przeciwieństwie do wielu typowych użytkowników komputerów) wyznaję religię manual+readme+howto winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.