Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] SELECT nazwa kolumny zależna od nazwy kolumny z innej tabeli
kondor
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 26.09.2005

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


Zaraz zgłupieję, siedzę na tym całą noc i pół dnia i nie mogę wymyślić.

Mam dwie tabele Vote oraz Photo.

Chciałbym stworzyć zapytanie, które w zależności od wartości Photo.votefor pobierało wartość kolumny Vote.[Photo.votefor] .

Za cholerę nie wiem czy się da i jak się da. Może macie jakieś pomysły?

Najprościej czyli
  1. SELECT Photo.*, Vote.*, Photo.votefor AS vo, Vote.vo AS wartosc
nie działa. Zapewne o czymś nie wiem. Może wystarczy to vo w Vote.vo wziąć w jakiś nawias czy coś żeby MySQL wiedział, że to ma być część nazwy kolumny?
Pojęcia nie mam.


p.s.
Mogę też zrobić to inaczej. Mam wszystkie wartości Vote w zmiennej PHP wcześniej wyciągniętej i w zapytaniu robilbym po prostu
  1. SELECT Photo.*, ".$vote[Photo.votefor]."
ale w tym wypadku też Photo.votefor nie jest przekazywane jako wartość tylko po prostu słowa.


Proszę o pomoc bo mi andrzejkowy weekend przelatuje pomiędzy palcami (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Nie wiem czy dobrze Cię zrozumiałem, ale CONCAT binduje Ci tylko tę dynamiczną nazwę kolumny, możesz sobie tam pisać dowolne zapytania typu

  1. SET @query = CONCAT(
  2. 'SELECT Photo.*, Vote.*, Vote.', @colname, ' AS wartosc FROM table
  3. JOIN table2 ON a = fk_a
  4. ... i tak dalej
  5. ');
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: 15.01.2026 - 06:33