Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] SELECT nazwa kolumny zależna od nazwy kolumny z innej tabeli
kondor
post 29.11.2014, 16:54:03
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 smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Damonsson
post 29.11.2014, 20:44:29
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 20:37