Wpis z mikrobloga

#mysql #programowanie #pomocy #kiciochpyta

Ktoś pomoże napisać mi zapytanie?

Mam tabelę wyglądającą tak:

https://dl.dropboxusercontent.com/u/19585201/wykop/tabela1.PNG

A chcę żeby to wyglądało tak:

https://dl.dropboxusercontent.com/u/19585201/wykop/tabela2.PNG

Czyli chodzi o to, żeby dla każdej gruby IDProduktu ponumerowało mi kolejno kolumny IDMagazynu zaczynając od 1.

Próbowałem różnych sposobów i nawet całe stackoverflow przeszukałem ale nie znalazłem sposobu na to :<

Jak to zrobić nie wiem.
  • 28
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ludzik: @Zalazdi: @kovalski:

Chodzi o czyste zapytanie SQL. Żadnego PHP itp bo w dowonlym języku programowania bym sobie to zrobił w minutę :)

Chodzi o inkrementacje wartości po prawej dla takiej samej wartości po lewej. Gdy mamy nową wartość po lewej to znów zaczynamy od 1.
  • Odpowiedz
Btw, chcesz to zrobić w czystym SQL-u z przyczyn ideologicznych czy technicznych? ;)


@singollo: Może ma te tabele większe niż podał i sql lepiej się tu sprawdzi.
  • Odpowiedz
@singollo: @ludzik:

Czysty SQL bo tych kolumn jest więcej, będę zmieniał strukturę bazy danych i przygotowuję plik SQL z zapytaniami aktualizującymi. Chcę to po prostu uruchomić na serwerze i nie przejmować się niczym.

Jeśli się nie da to trudno, będę musiał rozbić aktualizacje na 3 części i zrobię to w PHP.
  • Odpowiedz
@lewactwo: wymyśliłem takie przedefiniowanie problemu, dzięki któremu prawdopodobnie będzie to można zrobić poleceniem UPDATE z podzapytaniami:

- z tabeli T wybierz rekord N identyfikowany przez ID o wartości A w kolumnie K i wartości NULL w kolumnie L

- policz dla ilu rekordów w tabeli T występuje para (K = A, L = NULL) - to robisz
  • Odpowiedz
@lewactwo: ok, łapię koncepcję. Co prawda zarządzanie takim kluczem wydaje mi się trudne, ale to nie moje klucze :D Pomyśl nad tym, co napisałem chwilę wcześniej, może to ci pomoże.
  • Odpowiedz