![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 44 Dołączył: 17.02.2004 Skąd: Wieliczka Ostrzeżenie: (10%) ![]() ![]() |
mam mały zgryz ze zbudowaniem selecta zwracającego wynik w %.
Mam taką oto tabelę pola: TYP, PODTYP (przyjmują wartość w zakresie 1-99), VAR1, VAR2, VAR3 (wartość 1 lub 2) Rekordów takich docelowo będzie całkiem sporo. Teraz chcę zrobić coś takiego, że wybieram sobie TYP i PODTYP i dla nich zwraca mi: ile % VAR1 = 1 ile % VAR2 = 1 ile % VAR3 = 1 Jak coś takiego zrobić w jednym zapytaniu? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 44 Dołączył: 17.02.2004 Skąd: Wieliczka Ostrzeżenie: (10%) ![]() ![]() |
już wyjaśniam:
mam tabelę o takiej postaci: TYP | PODTYP | VAR1 | VAR2 | VAR3 ------------------------------------------- 99 | 34 | 1 | 2 | 1 10 | 13 | 1 | 2 | 1 99 | 34 | 1 | 1 | 1 99 | 34 | 2 | 2 | 1 26 | 15 | 2 | 2 | 1 99 | 34 | 1 | 2 | 2 99 | 34 | 1 | 2 | 1 ... teraz chcę sobie wybrać np. TYP=99 i PODTYP=34 - w bazie jest jakaś grupa rekordów spełniających ten warunek -powiedzmy 450rekordów. Teraz chcę by mi zwróciło procentowo jaka część tej grupy w VAR1 ma status =1, podobnie dla VAR2 i VAR3 Ja wiem że % to prosta matematyka i wiem jak się je liczy -tylko mam kłopot ze stworzeniem jednego sensownego zapytania które by to realizowało. W dużym uproszczeniu taki SELECT ile, p1, p2, p3 FROM tabela WHERE Typ=99 AND PODTYP=34 -gdzie: ile=liczba zwróconych rekordów, p1=(ileVAR1=1/ile)*100, p2=(ileVAR2=1/ile)*100, p3=(ileVAR3=1/ile)*100 Jaśniej już chyba nie umiem tego wyłożyć. Tylko jak to w jednym zapytaniu upchnąć? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 19:42 |