Autor Wątek: Sql ceny - zwróć najwyższy rekord  (Przeczytany 2012 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline kasal

  • Nowy użytkownik
  • *
  • Wiadomości: 5
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT
Sql ceny - zwróć najwyższy rekord
« dnia: Listopad 14, 2022, 10:34:59 »
Dzień dobry,
mam problem z sql pod sgt nie mogę wyciągnąć najwyższego rekordu po OB_Id, mógłby ktoś doradzić co w tym zapytaniu nalezy poprawić?

select max (OB_ID) from (select OB_ID,tw_Symbol as symbol_towaru,
ob_CenaMag as cena_magazynowa,tw_Opis as opis_w_SGT,tc_CenaNetto0 as cena_kartotekowa,
tc_CenaNetto1 as cena_sprzed_netto,tc_CenaBrutto1 as cena_sprzed_brutto,
tc_CenaNetto6 as cena_sklepy_pl, tc_Zysk1 as zysk,tc_Zysk6 as zysk_sklepy,
tc_Narzut1 as narzut_proc_detalu,tc_Narzut6 as narzut_proc_sklep, tc_Marza1 as marza_proc_detalu,tc_Marza6 as marza_proc_sklep
FROM dok_Pozycja
join tw__Towar ON ob_TowId = tw_Id
join tw_Cena ON ob_TowId = tc_IdTowar
where tw_Symbol like '0000010564'
GROUP BY OB_ID, tw_Symbol, tw_Opis, tc_CenaNetto0, tc_CenaNetto1,tc_CenaBrutto1, ob_CenaMag, tc_CenaNetto6 ,tc_Zysk1,tc_Zysk6,tc_Narzut1,tc_Narzut6,tc_Marza1,tc_Marza6 )

Offline yemet

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 1271
  • Reputacja +46/-1
  • Wersja programu: Navireo
Odp: Sql ceny - zwróć najwyższy rekord
« Odpowiedź #1 dnia: Listopad 14, 2022, 11:03:33 »
Robione na kolanie, do sprawdzenia

select TOP 1 OB_ID,tw_Symbol as symbol_towaru,
ob_CenaMag as cena_magazynowa,tw_Opis as opis_w_SGT,tc_CenaNetto0 as cena_kartotekowa,
tc_CenaNetto1 as cena_sprzed_netto,tc_CenaBrutto1 as cena_sprzed_brutto,
tc_CenaNetto6 as cena_sklepy_pl, tc_Zysk1 as zysk,tc_Zysk6 as zysk_sklepy,
tc_Narzut1 as narzut_proc_detalu,tc_Narzut6 as narzut_proc_sklep, tc_Marza1 as marza_proc_detalu,tc_Marza6 as marza_proc_sklep
FROM dok_Pozycja
join tw__Towar ON ob_TowId = tw_Id
join tw_Cena ON ob_TowId = tc_IdTowar
where tw_Symbol like '0000010564'
GROUP BY OB_ID, tw_Symbol, tw_Opis, tc_CenaNetto0, tc_CenaNetto1,tc_CenaBrutto1, ob_CenaMag, tc_CenaNetto6 ,tc_Zysk1,tc_Zysk6,tc_Narzut1,tc_Narzut6,tc_Marza1,tc_Marza6
order by OB_ID desc

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4913
  • Reputacja +173/-11
Odp: Sql ceny - zwróć najwyższy rekord
« Odpowiedź #2 dnia: Listopad 14, 2022, 12:15:05 »
Dzień dobry,
mam problem z sql pod sgt nie mogę wyciągnąć najwyższego rekordu po OB_Id, mógłby ktoś doradzić co w tym zapytaniu nalezy poprawić?
Nie działa bo brak aliasu. Dodaj za ostatnim nawiasem alias (dowolną literkę, np tak "... tc_Marza6 ) X" (chodzi o to " X") i zadziała.

Mam na myśli że składniowo będzie poprawne, ale czy jest sensowne to już inna historia.
Spójrz lepiej na to co napisał Yemet, bo w Twoim wybierasz 14 kolumn, z których potrzebujesz jedną. To po co ta reszta?
Dodatkowo, skoro chcesz MAX(ob_Id) to co chcesz osiągnąć tym grupowaniem po 13 dodatkowych kolumnach?
Przecież jedno ob_Id zawsze dotyczy jednego towaru.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Forum Użytkownikow Subiekt GT

Odp: Sql ceny - zwróć najwyższy rekord
« Odpowiedź #2 dnia: Listopad 14, 2022, 12:15:05 »