Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Niepoprawny wynik zwracany przez MySQl
Czadus
post
Post #1





Grupa: Zarejestrowani
Postów: 164
Pomógł: 4
Dołączył: 29.08.2008

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


Mam oto takie zapytanie:

Kod
"SELECT `id`,`tytul`,`data`,`status`, (SELECT COUNT(*) FROM `admin_galeria_zdjecia` WHERE `id_galeria`='admin_galeria_dzialy.id') AS suma FROM `admin_galeria_dzialy` ORDER BY `data`, `tytul`;"


Niestety zwraca mi ciągle zero. Pola są poprawne, składniowo rownież. Przyczynę tego problemu już znalazłem. Chodzi o o warunek:
Kod
........'admin_galeria_dzialy.id'........


Gdy napiszę go bez apostrofów, to wszystko działa poprawnie, no ale przyjęło się, aby te elementy jednak były objętę nimi. Jak zatem połączyć potrzebę wykorzystania apostrofów bez burzenia prawidłowego działania zapytania??

Ten post edytował Czadus 11.09.2008, 21:05:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Czadus
post
Post #2





Grupa: Zarejestrowani
Postów: 164
Pomógł: 4
Dołączył: 29.08.2008

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


wielkie dzięki. oto mi właśnie chodziło. Korzystając z okazji, nie będę zakładał nowego tematu, a napiszę to tutaj. Moje zapytanie nie zwraca mi nic, a powinno.

Kod
SELECT `id`,`id_galeria`,`grafika`,`data`,`status` FROM `admin_galeria_zdjecia` WHERE `data`=(SELECT MIN(`data`) FROM `admin_galeria_dzialy` WHERE `status`='1');


Chcę wyświetlać losowe zdjęcie z najnowszej galerii. Zatem chcę pobrać sobie informacje o tej, która ma najmłodszą datę. samo podzapytanie działa poprawnie, jedna reasumując całość, zapytanie nie zwraca mi nic. Czy napisałem coś nie tak??

Dodam, że MIN(`data`) dotyczy pola daty z tabeli `admin_galeria_dzialy`, podobnie `status`. Pozostałe pola w podstawowym zapytaniu odnoszą się do tabeli `admin_galeria_zdjecia`.

-----------------------------------------------------------
PROBLEM rozwiązany. Zapytanie było poprawnie napisane składniowo, jednak okazało się, że szukałem w tabeli ze zdjęciami rekordów o takiej samej dacie, jak utworzony dział dla tej galerii. No oczywiście tak być nie mogło, bo każdy rekord ma inną datę. Poprawne zapytanie wygląda następująco:

Kod
SELECT `id`,`id_galeria`,`grafika`,`data`,`status` FROM `admin_galeria_zdjecia` WHERE `id_galeria`=(SELECT `id` FROM `admin_galeria_dzialy` WHERE `status`='1' AND `data`=(SELECT MAX(`data`) FROM `admin_galeria_dzialy` WHERE `status`='1'));


Ten post edytował Czadus 13.09.2008, 11:21:59
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: 6.10.2025 - 06:00