Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [sql] Dwa pola o takiej samej nazwie, ale z innych tabel
propage
post
Post #1





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


W tabeli product i tabeli promotion mam 2 pola o takiej samej nazwie product_id 

Po wywołaniu takiego zapytania: 

SELECT * FROM product p left join promotion pro on (pro.product_id = p.product_id)

Zawartpść "product_id" bedzie pusta, nie mniej jesli to samo zapytanie skopiuje i wykonam w phpmyadminie to pokaze mi poprawne wartosci w w polach product_id 


Oczywiscie takie zapytanie

SELECT *, p.product_id as product_id FROM product p left join promotion pro on (pro.product_id = p.product_id)

Zwróci mi też prawisłowe wartości. 



Da się skonfigurować jakoś mysql, aby zwracalo poprawną mimo tego ze 2 pole jest dwuznaczne, ale przeciez z kazdej tabeli jest w nim taka sama wartość ?  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Skoro pole nie jest jednoznacze to która wartość jest poprawna?
Nie da się tego zautomatyzować. Po to powstały aliasy, żeby takie sytuacje nie były problemem.

Jeśli korzystasz z aliasów jest OK, więc w czym problem. Chciałbyś żeby bez aliasów działało tak jak z nimi? Nie da się.
Go to the top of the page
+Quote Post
propage
post
Post #3





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


no ale po tym polu "product_id" dokonuje łączenia tabel więc musi być dla nich identyczna wartość, a problem jest w tym że trzeba używac aliansów 
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 Aktualny czas: 20.08.2025 - 19:03