Grupowanie różnicy wartości z dwóch tabel |
Grupowanie różnicy wartości z dwóch tabel |
8.06.2018, 17:34:15
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 8.06.2018 Ostrzeżenie: (0%) |
Witam, po lekkich problemach z zapytaniem w końcu doszedłem do właściwej formy:
CODE 1) SELECT (SUM(mięso_na_produkcje.Ilość_kg) - (SELECT SUM(pozycje_do_zamówienia.Ilość_kg) FROM pozycje_do_zamówienia)) AS 'Stan na magazynie (kg)' FROM mięso_na_produkcje 2) SELECI Rodzaj_mięsa, (SUM(Ilość_kg) - (SELECT SUM(Ilość_kg) FROM pozycje_do_zamówienia)) as 'Stan (kg)' from mięso_na_produkcje group by Rodzaj_mięsa Wynik pierwszego selecta to 1369 i to jest wynik poprawny. Problem w tym, że ta wartość nie zda mi się na wiele więc chciałem ją rozdzielić poprzez Rodzaj_mięsa. Jednak w tym momencie wyniki odejmowania są już niepoprawne (189, 379, 159). Mógłby ktoś mi wskazać błąd i pomóc go rozwiązać? :/ EDIT: Powinienem od razu to zamieścić, ale piszę teraz: Ilość_kg dla mięso_na_produkcje to kolejno 510, 700, 480, natomiast dla pozycje_do_zamówienia to 9, 192, 120. Wynika z tego, że z każdej sumy Ilość_kg od Rodzaj_mięsa odejmuje sumę Ilość_kg dla całego pozycje_do_zamówienia bo 510 - 9 - 192 - 120 = 189. Tyle że kombinując z where Rodzaj_mięsa='' wyskakują mi błedy Ten post edytował brbKify 8.06.2018, 19:41:00 |
|
|
8.06.2018, 17:50:34
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Są niepoprawne, bo kilogramy z pozycji zamówienia sumujesz z całej tabeli.
Zerknij w Google jak się robi łączenie tabel zamiast robić podselect. A jak bardzo chcesz to chociaż sprzęgnij go poprzez poprzez 'Rodzaj_mięsa' z nadrzędną tabelą. -------------------- |
|
|
8.06.2018, 18:18:54
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 8.06.2018 Ostrzeżenie: (0%) |
No więc popróbowałem dalej ale nadal nic (chociaż nie jestem pewien czy o to Tobie chodziło)
CODE select Rodzaj_mięsa, (SUM(mięso_na_produkcje.Ilość_kg)-SUM(pozycje_do_zamówienia.Ilość_kg)) FROM pozycje_do_zamówienia, mięso_na_produkcje group by Rodzaj_mięsa Select Rodzaj_mięsa, SUM(mięso_na_produkcje.Ilość_kg) from mięso_na_produkcje group by Rodzaj_mięsa UNION select Mięso, SUM(pozycje_do_zamówienia.Ilość_kg) from pozycje_do_zamówienia join asortyment on pozycje_do_zamówienia.ID_produktu=asortyment.ID_produktu group by Mięso W pierwszym wyniki są po 20 - 30 tysięcy W drugim liczby pokazują się poprawnie ale nie mam pojęcia jak je odjąc |
|
|
9.06.2018, 12:36:31
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
W jednym zapytaniu ma być JOIN, bez żadnego UNION.
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 00:41 |