![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 16.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam po raz pierwszy
Niestety poległem w prostej sprawie, jak mi się przynajmniej wydawało..: Mam następującą tabelę zakupu2014: |id |indeks |nazwa_towaru |jm |il0osc |cena_zakupu |nazwa_kontrahenta |data_realizacji| |0 |121 |aaa |kg |12 |12.1 |hh |2014-01-24| |1 |121 |aaa |kg |12 |13.1 |hh |2014-01-23| |2 |122 |bbb |szt |12 |14.1 |hh |2014-01-24| |3 |121 |aaa |kg |12 |10.1 |hh |2014-01-01| |4 |122 |bbb |szt|12 |9.1 |hh |2014-01-10| |5 |122 |bbb |szt|12 |1.1 |hh |2014-01-12| potrzebuje osiągnąc taki wynik jak daje: Select indeks,cena_zakupu,avg(cena_zakupu),min(cena_zakupu) from zakupy2014 group by indeks ale zamiast np avg ostatnią cenę zakupu, przedostatnia cenę zakupu i przedprzedostatnia cenę zakupu -w jednym rekordzie jak to jest właśnie w tym zapytaniu Oczywiście biorę po uwagę wariant ze zbudowaniem osobnej tabeli z takimi wynikami. Podkreślam, że dla niektórych indeksów może być tylko ostatnia cena_zakupu. Ma ktoś pomysł jak to rozwiązać? Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 16.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki bo już zastanawiałem sie nad pivot table żeby zrobic. Mam jednak problem:
CREATE TABLE `ostatnie_ceny` ( `indeks` int(11) NOT NULL, `cena_ost` decimal(8,2) NOT NULL, `cena_przedost` decimal(8,2) DEFAULT NULL, `cena_przedprzedost` decimal(8,2) DEFAULT NULL, PRIMARY KEY (`indeks`), FOREIGN KEY (`indeks`) REFERENCES `zakupy2014` (`indeks`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB; MySQL zwrócił komunikat: Dokumentacja #1005 - Can't create table 'carboceny.ostatnie_ceny' (errno: 150) (Szczegóły…) Co może być nie tak? Nie wiem czy to istotne, ale w tabeli kolumne indeks musialem zmienic na varchar bo niestety kolumna ta może posiadać znaki wymieszane z cyframi:/ Co do budowy bazy to budowa jest importowana z pewnego "magicznego" systemu (skazana jest na jego ułomności) i nie będzie ulegała zmianie czy usuwaniu rekordów. Jako ciekawostka dodam, że poszczególne jm moga być litr i l, ale to temat na kiedy indziej. BTW Teraz zauważyłem, że wątek ująłem nie w tym dziale co powinienem za co przepraszam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 04:23 |