Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> dynamiczne tworzenie zmiennych w czasie wykonywania select
marduk_bsd
post 2.03.2010, 20:54:03
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 2.03.2010

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


Witam,

Mam przykładową tabele projects zawierającą id, category_id, title

Chciałbym poznać aktualną pozycję wybranego rekordu w bazie danych, dostaję ją z użyciem takiego zapytania:

  1. SET @inc :=0;SELECT @inc := @inc + 1 AS nr, title, category_id, id FROM projects;


i teraz chciałbym to zapytanie skomplikować tak aby pole nr pokazywało pozycję rekordu ale z uwzględnieniem category_id, czyli w przypadku gdy category_id rekordu zmieni się baza danych powinna stworzyć nową zmienną @inc tylko dla danej wartości category_id. Z góry dziękuje za wszystkie podpowiedzi.

Witam,

Wymyślilem coś takiego, być może się komuś przyda:

  1. SELECT p.id, p.category_id, p.title, FIND_IN_SET(p.id, (SELECT GROUP_CONCAT(id) FROM projects WHERE category_id=p.category_id)) AS pos FROM projects AS p ORDER BY category_id, pos;
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 Wersja Lo-Fi Aktualny czas: 24.07.2025 - 23:32