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
@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.
@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.
@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 podzapytaniem

- wynik umieść w kolumnie L

Podzapytanie będzie trzeba na pewno zagnieździć (SELECT
@singollo: @ludzik: Unikalny klucz jest tworzony na 4. kolumnach:

IDProduktu

IDKoloru

IDRozmiaru

IDTypu

Do tej pory jeden produkt mógł mieć zdefiniowany tylko jeden kolor, jeden rozmiar i jeden typ. Oczywiście kombinacje tych elementów mogły być różne, różne mogła być waga, cena i ilość dla każdego takiego zestawu.

Jednak okazało się, że produkty będą potrzebowały różnych kolorów np. kolor rękawa, kolor nogawki itp. Dlatego taka struktura nie będzie działać i ustawienie
@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.