Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skomplikowane zapytanie do bazy MySQL
Leon Zawodowiec
post 17.10.2009, 14:32:18
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 7.05.2009

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


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 ? 








Go to the top of the page
+Quote Post
Crozin
post 17.10.2009, 15:19:30
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


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;
Go to the top of the page
+Quote Post
Leon Zawodowiec
post 17.10.2009, 15:39:11
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 7.05.2009

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


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

Ten post edytował Leon Zawodowiec 17.10.2009, 15:45:44
Go to the top of the page
+Quote Post
thek
post 18.10.2009, 00:08:09
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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ć.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Leon Zawodowiec
post 22.10.2009, 12:49:22
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 7.05.2009

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


 
  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

Ten post edytował Leon Zawodowiec 22.10.2009, 12:56:19
Go to the top of the page
+Quote Post
thek
post 23.10.2009, 09:21:15
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 28.06.2025 - 07:44