Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zagniezdzone zapytania i laczenie tabel - problem
_cichy_
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.01.2006

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


Witam
Szukalem podobnego opisu problemu, niestety jak widac z marnym skutkiem.
Postaram sie opisac cala sytuacja jak najjasniej.

Mam taka tresc zapytania:
  1. SELECT A.cena
  2. FROM ( (SELECT oferty.*, aukcje.*
  3. FROM oferty INNER JOIN aukcje ON (oferty.ID_aukcja = aukcje.ID_aukcja)
  4. WHERE oferty.ID_uzytkownik = '5' AND aukcje.data_zakonczenia < '2006-01-21 3:16:03') AS A)

Pozniej kod php:
Kod
$wynik = @mysql_query($sql, $polaczenie_db);

while ($wiersz = mysql_fetch_row($wynik))
{
}


Wysypuje sie w momencie $wiersz = mysql_fetch_row($wynik),
tresc komunikatu: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in...

Zapytanie moim zdaniem jest poprawne (wklejalem calosc do Accessa i zadnych bledow nie bylo), kiedy wklejam je do phpmyadmin-a to zwraca mi komunikat: #1060 - Powt�rzona nazwa kolumny 'ID_aukcja'.

Juz nie wiem co mam robic, prosze o pomoc.
Z gory dziekuje za wszelke sugestie i pomysly bardziej doswiadczonych kolegow.
Pozdrawiam.

Ten post edytował aleksander 21.01.2006, 11:24:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Zlikwiduj jedno zagniezdzenie nawiasow. Troszeczke dziwne bo nie masz tam podane 2 razy tych samych pol. Mozesz pokazac strukture?
Go to the top of the page
+Quote Post
_cichy_
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.01.2006

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


No nawiasy to tylko kosmetyka (pozostalosc po wczesniejszych kombinowanych probach naprawienia sytuacji).
A co do powtorzonych pol to sama nazwa ID_aukcja jest powtorzona. Takie pole znajduje sie zarowno w tabeli aukcje jak i oferty. Z tym, ze przeciez posluguje sie nimi jednoznacznie (podaje przeciez nazwa_tabeli.nazwa_pola), wiec nie wiem dlaczego wypisuje takie bzdury. Jak usune z zagniezdzonego zapytania aukcje.* to calosc dziala (widocznie bede musial recznie podac wszystkie niezbedne mi pola oprocz pola ID_aukcja).
Takie zapytanie juz dziala OK:
  1. SELECT A.cena
  2. FROM (SELECT oferty.*
  3. FROM oferty INNER JOIN aukcje ON (oferty.ID_aukcja = aukcje.ID_aukcja)
  4. WHERE oferty.ID_uzytkownik = '5' AND aukcje.data_zakonczenia < '2006-01-21 10:57:25') AS A


Ale problem jak dla mnie pozostaje nadal. Dlaczego cos takiego oferty.*, aukcje.* nie dziala (preciez to pole identyfikowane jest jednoznacznie dzieki nazwie tabeli).

(IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) ! Ech, juz wiem gdzie byl problem z powtorzona nazwa pola. W zagniezdzonym zapytaniu powtorzenia nie bylo, a bylo ono w momencie nazywania widoku jako A. Wtedy faktycznie byly dwa pola identyfikowane jako A.ID_aukcja.
Dziekuje za pomoc. Pozdrawiam.

---
proszę używac właściwych znaczników: [ sql ]
aleksander
Go to the top of the page
+Quote Post

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: 23.08.2025 - 00:08