Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Perspektywa
k2n
post 22.09.2007, 01:46:29
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 14.07.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
miggie
post 22.09.2007, 07:32:27
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Rudziniec

Ostrzeżenie: (0%)
-----


  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?
Go to the top of the page
+Quote Post
k2n
post 24.09.2007, 12:28:26
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 14.07.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


podeszłem troche inaczej do problemu i wystarczyła perspektywa którą podałem jako pierwszą.
Ale i tak dziki za podpowiedź
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:44