Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Perspektywa
Forum PHP.pl > Forum > Bazy danych > MySQL
k2n
mam dwie tabele:

  1. CREATE TABLE Produkt (
  2. idProdukt INT NOT NULL AUTO_INCREMENT,
  3. idDostawa INTEGER NOT NULL,
  4. idGrupaProduktu INT NOT NULL,
  5. idProducent INT NOT NULL,
  6. idJednostka INT NOT NULL,
  7. nazwa VARCHAR(50) NOT NULL,
  8. ilosc INT NOT NULL,
  9. vat TINYINT UNSIGNED NOT NULL,
  10. cenaNettoKupna DECIMAL(10,2) NOT NULL,
  11. cenaNettoSprzedazy DECIMAL(10,2) NOT NULL,
  12. PRIMARY KEY(idProdukt),
  13. INDEX Produkt_FKIndex1(idJednostka),
  14. INDEX Produkt_FKIndex2(idProducent),
  15. INDEX Produkt_FKIndex3(idGrupaProduktu),
  16. INDEX Produkt_FKIndex4(idDostawa)
  17. );

oraz

  1. CREATE TABLE Zamowienie_has_Produkt (
  2. idProdukt INT NOT NULL,
  3. idZamowienie INT NOT NULL,
  4. cenaNettoSprzedazy DECIMAL(10,2) NOT NULL,
  5. ilosc INT NULL,
  6. PRIMARY KEY(idProdukt, idZamowienie),
  7. INDEX Zamowienie_has_Produkt_FKIndex1(idZamowienie),
  8. INDEX Zamowienie_has_Produkt_FKIndex2(idProdukt)
  9. );


w tabeli Produkt mamy produkty ktore przychaadza z dostawy, czesto zdarza sie tak ze w kilku dostawach jest ten sam produkt
dzieki temu w tabeli Produkt moze byc kilka wpisow z tym samym produktem

zrobilem perspektywe ktora sumuje ilosci tych samych produktow

  1. CREATE VIEW ProduktySuma AS SELECT
  2. idGrupaProduktu,
  3. idProducent,
  4. idJednostka,
  5. nazwa,
  6. SUM(ilosc) AS iloscSuma,
  7. MAX(cenaNettoKupna) AS cenaNettoKupnaMax,
  8. MAX(cenaNettoSprzedazy) AS cenaNettoSprzedazyMax,
  9. vat
  10. FROM Produkt GROUP BY nazwa


deuga tabela: Zamowienie_has_Produkt ma zapisane ile i jakie produkty sa zamowiane

chce stworzyc perspekte ProduktyDostepne ktora bedzie zawierac to co perspektywa ProduktySuma - to co zamowione

wymyslilem cos takiego:

  1. CREATE VIEW ProduktyDostepne AS SELECT
  2. p.idGrupaProduktu,
  3. p.idProducent,
  4. p.idJednostka,
  5. p.nazwa,
  6. SUM(p.ilosc)-SUM(z.ilosc),
  7. MAX(p.cenaNettoKupna) AS cenaNettoKupnaMax,
  8. MAX(p.cenaNettoSprzedazy) AS cenaNettoSprzedazyMax,
  9. vat
  10. FROM Produkt p, Zamowienie_has_Produkt z GROUP BY p.nazwa, z.nazwa


ale to nie do konca dziala, bo te produkty krore nigdy nie byly zamawiane w wyniku dają NULL

bardzo prosze o pomoc
miggie
  1. Produkt p,
  2. Zamowienie_has_Produkt z

Nie znam się do końca na robieniu perspektyw (tylko teoretycznie), ale w ostatnim kodzie nie widzę połączenia tych ww. tabel.
Może to o to chodzi?
k2n
podeszłem troche inaczej do problemu i wystarczyła perspektywa którą podałem jako pierwszą.
Ale i tak dziki za podpowiedź
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.