[mysql] Jak =?ISO-8859-2?Q?zbudowa=E6_zapytanie?=
eLeM - 23-02-2007 00:01
[mysql] Jak =?ISO-8859-2?Q?zbudowa=E6_zapytanie?=
Witam,
Czy ktoś z grupowiczów byłby w stanie mi pomóc przy skonstuowaniu zapytania sumującego stany w magazynie. Sytuacja przedstawia się w ten sposób iż do tabeli zamówienia są przypisane pozycje w tabeli zamowienia_p które są produktami przypisanymi do danego zamówienia ze względu na to że produkty mogą mnieć jakieś parametry to lista tych parametrów jest przypisywana do zamówieonych produktów w osobnej tabeli.
Moim dylematem jest to w jaki sposób zsumować takie same produkty z takimi samymi parametrami z różnych zamówień.
| zamowienia | ----------------------- |idzamowienia | |idklienta | -----------------------
| zamowienia_p | ---------------------- |idzampro | |idzamowiena | |ilosc | ----------------------
| zamowienia_pp | ---------------------- |idzampro | |idparametru | ----------------------
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 23-02-2007 00:01
eLeM wrote: > Witam, > > Czy ktoś z grupowiczów byłby w stanie mi pomóc przy skonstuowaniu > zapytania sumującego stany w magazynie. Sytuacja przedstawia się w ten > sposób iż do tabeli zamówienia są przypisane pozycje w tabeli > zamowienia_p które są produktami przypisanymi do danego zamówienia ze > względu na to że produkty mogą mnieć jakieś parametry to lista tych > parametrów jest przypisywana do zamówieonych produktów w osobnej tabeli. > > Moim dylematem jest to w jaki sposób zsumować takie same produkty z > takimi samymi parametrami z różnych zamówień. > > > | zamowienia | > ----------------------- > |idzamowienia | > |idklienta | > ----------------------- > > > | zamowienia_p | > ---------------------- > |idzampro | > |idzamowiena | > |ilosc | > ---------------------- > > | zamowienia_pp | > ---------------------- > |idzampro | > |idparametru | > ----------------------
To jest group by na zwykłym złączeniu dwóch tabel - gdzie tu widzisz trudność?
-- P.M.
eLeM - 24-02-2007 00:01
Paweł Matejski napisał(a): > eLeM wrote: >> Witam, >> >> Czy ktoś z grupowiczów byłby w stanie mi pomóc przy skonstuowaniu >> zapytania sumującego stany w magazynie. Sytuacja przedstawia się w ten >> sposób iż do tabeli zamówienia są przypisane pozycje w tabeli >> zamowienia_p które są produktami przypisanymi do danego zamówienia ze >> względu na to że produkty mogą mnieć jakieś parametry to lista tych >> parametrów jest przypisywana do zamówieonych produktów w osobnej tabeli. >> >> Moim dylematem jest to w jaki sposób zsumować takie same produkty z >> takimi samymi parametrami z różnych zamówień. >> >> >> | zamowienia | >> ----------------------- >> |idzamowienia | >> |idklienta | >> ----------------------- >> >> >> | zamowienia_p | >> ---------------------- >> |idzampro | >> |idzamowiena | >> |ilosc | >> ---------------------- >> >> | zamowienia_pp | >> ---------------------- >> |idzampro | >> |idparametru | >> ---------------------- > > To jest group by na zwykłym złączeniu dwóch tabel - gdzie tu widzisz trudność? > No nie powiedziałbym, patrz na to że produkt nie koniecznie musi mieć tylko jeden parametr może mieć ich kilka.
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 24-02-2007 00:02
eLeM wrote: > Paweł Matejski napisał(a): >> >> To jest group by na zwykłym złączeniu dwóch tabel - gdzie tu widzisz >> trudność? >> > No nie powiedziałbym, patrz na to że produkt nie koniecznie musi mieć > tylko jeden parametr może mieć ich kilka.
Ja tu nie widze problemu. Pokaż przykładowe dane i co chcesz uzyskać. A najlepiej jeszcze zapytanie które Ci nie działa.
-- P.M.
eLeM - 24-02-2007 00:02
Paweł Matejski napisał(a): > eLeM wrote: >> Paweł Matejski napisał(a): >>> To jest group by na zwykłym złączeniu dwóch tabel - gdzie tu widzisz >>> trudność? >>> >> No nie powiedziałbym, patrz na to że produkt nie koniecznie musi mieć >> tylko jeden parametr może mieć ich kilka. > > Ja tu nie widze problemu. > Pokaż przykładowe dane i co chcesz uzyskać. A najlepiej jeszcze zapytanie które > Ci nie działa. > -- --------------------------------------------------------
-- -- Struktura tabeli dla `zamowienia` --
CREATE TABLE `zamowienia` ( `idzamowienia` int(10) unsigned NOT NULL auto_increment, `idklienta` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`idzamowienia`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=3 ;
-- -- Zrzut danych tabeli `zamowienia` --
INSERT INTO `zamowienia` VALUES (1, 1); INSERT INTO `zamowienia` VALUES (2, 2);
-- --------------------------------------------------------
-- -- Struktura tabeli dla `zamowienia_p` --
CREATE TABLE `zamowienia_p` ( `idzampro` int(10) unsigned NOT NULL auto_increment, `idzamowienia` int(10) unsigned NOT NULL default '0', `ilosc` smallint(5) unsigned NOT NULL default '0', PRIMARY KEY (`idzampro`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=4 ;
-- -- Zrzut danych tabeli `zamowienia_p` --
INSERT INTO `zamowienia_p` VALUES (1, 1, 4); INSERT INTO `zamowienia_p` VALUES (2, 1, 2); INSERT INTO `zamowienia_p` VALUES (3, 2, 1);
-- --------------------------------------------------------
-- -- Struktura tabeli dla `zamowienia_pp` --
CREATE TABLE `zamowienia_pp` ( `idzampro` int(10) unsigned NOT NULL default '0', `idparametru` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`idzampro`,`idparametru`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2;
-- -- Zrzut danych tabeli `zamowienia_pp` --
INSERT INTO `zamowienia_pp` VALUES (1, 1); INSERT INTO `zamowienia_pp` VALUES (1, 2); INSERT INTO `zamowienia_pp` VALUES (2, 1); INSERT INTO `zamowienia_pp` VALUES (2, 5); INSERT INTO `zamowienia_pp` VALUES (3, 1); INSERT INTO `zamowienia_pp` VALUES (3, 2);
------------------------------------------------------------
Powyrzsza struktura daje nam dwa zamówienia:
Zamówienie 1
- produkt 1 / ilość 4 - parametr 1 - parametr 2
- produkt 2 / 2 - parametr 1 - parametr 5
Zamowienie 2
- produkt 1 / ilość 1 - parametr 1 - parametr 2
Jak widać po odpowiednim połączeniu powinniśmy otrzymać 5 produktów o parametrze 1,2. Mam nadzieje że jest to wmiare czytelne.
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 25-02-2007 00:01
eLeM wrote: > Paweł Matejski napisał(a): >> eLeM wrote: >>> Paweł Matejski napisał(a): >>>> To jest group by na zwykłym złączeniu dwóch tabel - gdzie tu widzisz >>>> trudność? >>>> >>> No nie powiedziałbym, patrz na to że produkt nie koniecznie musi mieć >>> tylko jeden parametr może mieć ich kilka. >> >> Ja tu nie widze problemu. >> Pokaż przykładowe dane i co chcesz uzyskać. A najlepiej jeszcze >> zapytanie które >> Ci nie działa. >> > -- -------------------------------------------------------- >
> Jak widać po odpowiednim połączeniu powinniśmy otrzymać 5 produktów o > parametrze 1,2. Mam nadzieje że jest to wmiare czytelne.
No a oczekiwane wyniki? Bo przeszedłeś na samą opisówkę. Co to jest "parametr 1,2". Może parametry? Może zrobiłeś literówkę, ale z poprzednich postów wynikało, że chodzi o jeden parametr? Jeśli o więcej niż jeden, to szukasz ilości konkretnego zestawu parametrów, czy chcesz ilości dla wszystkich możliwych zestawów?
-- P.M.
eLeM - 25-02-2007 00:01
Paweł Matejski napisał(a): > eLeM wrote: >> Paweł Matejski napisał(a): >>> eLeM wrote: >>>> Paweł Matejski napisał(a): >>>>> To jest group by na zwykłym złączeniu dwóch tabel - gdzie tu widzisz >>>>> trudność? >>>>> >>>> No nie powiedziałbym, patrz na to że produkt nie koniecznie musi mieć >>>> tylko jeden parametr może mieć ich kilka. >>> Ja tu nie widze problemu. >>> Pokaż przykładowe dane i co chcesz uzyskać. A najlepiej jeszcze >>> zapytanie które >>> Ci nie działa. >>> >> -- -------------------------------------------------------- >> > >> Jak widać po odpowiednim połączeniu powinniśmy otrzymać 5 produktów o >> parametrze 1,2. Mam nadzieje że jest to wmiare czytelne. > > No a oczekiwane wyniki? Bo przeszedłeś na samą opisówkę.
Sorka rzeczywiście nie odałem ale myślałem że będzie to oczywiste :)
Struktura daje nam dwa zamówienia:
Zamówienie 1
- produkt 1 / ilość 4 - parametr 1 - parametr 2
- produkt 2 / ilość 2 - parametr 1 - parametr 5
Zamowienie 2
- produkt 1 / ilość 1 - parametr 1 - parametr 2
Wynik:
- produkt (ilość 4 + ilość 1 = zsumowana ilość produktów z zamówień 5) - parametr 1 - parametr 2
- produkt 2 / ilość 2 - parametr 1 - parametr 5
> Co to jest "parametr 1,2". Może parametry? Może zrobiłeś literówkę, ale z > poprzednich postów wynikało, że chodzi o jeden parametr?
Pisałem że może być więcej niż jeden parametr przypisany do produktu: "...No nie powiedziałbym, patrz na to że produkt nie koniecznie musi mieć tylko jeden parametr może mieć ich kilka."
Jeśli o więcej niż > jeden, to szukasz ilości konkretnego zestawu parametrów, czy chcesz ilości dla > wszystkich możliwych zestawów?
Potrzebne są zsumowane wszystkie zestawy występujące w zamówieniach.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Gdzie MySQL 4.1, a gdzie 5.0?
[MS SQL] "set names" (mySQL) w MS SQL
oracle -> oracle lub oracle -> mysql replikacja - programy
[MySQL] Zwrot tego, co pasuje i nie pasuje :-/
[pgsql] Dostosowanie składni MySQL 5.0 -> PGSQL 8.1
[mysql] galeria zdjec - numerowanie zdjec
[mysql] CONCAT agregujący, ale nie GROUP_CONCAT()
mysql data 0000-00-00 na koniec
[MySQL] Problem z zapisem danych w bazie danych
jak przenieesc czesc tabeli do innej tabeli MySQL
zanotowane.pldoc.pisz.plpdf.pisz.plfelgiuzywane.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|