• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak wyświetlić imię danego pracownika??

Object Storage Arubacloud
0 głosów
182 wizyt
pytanie zadane 11 czerwca 2017 w SQL, bazy danych przez glocek2121 Nowicjusz (160 p.)

Witam chce wyświetlić imie i nazwisko pracowników i ilość wykonanych przez niego transakcji.

Próbowałem to zrobić i narazie mam takie co :

select p.ID_PRACOWNIKA,count(t.ID_PRACOWNIKA) 
from  TRANSAKCJA t
inner JOIN PRACOWNIK p on t.ID_PRACOWNIKA =p.ID_PRACOWNIKA GROUP by p.ID_PRACOWNIKA;


Wsyztsko jest ok ale gdy próbuje dopisać p.imie to  wywala ze nie jest to wyrażenie GROUP BY

2 odpowiedzi

0 głosów
odpowiedź 12 czerwca 2017 przez seba Dyskutant (8,900 p.)
Dodaj do selecta imie
0 głosów
odpowiedź 12 czerwca 2017 przez Tomek Sochacki Ekspert (227,510 p.)

Spróbuj jak kolega wcześniej napisał, dodać imię do select.

Ja mam natomiast parę wskazówek użytkowych:

  1. proponuję kwerendy zapisywać wielkimi literami, czyli nie select tylko SELECT, nie jest to żaden wymóg ale ogólnie przyjęta zasada ułatwiająca później analizę zapytań - w tej chwili masz bardzo proste i krótkie zapytanie ale jeśli kiedyś będziesz pisał bardziej rozbudowanego selecta to konwencje mają znaczenie.
  2. uważałbym z nadawaniem aliasów w ten sposób jak Ty to robisz. Osobiście preferuję jawny zapis "FROM transakcja AS t" co również ułatwia późniejszą analizę zapytania.
  3. i na koniec mała uwaga do INNER JOIN... jest to tzw. iloczyn kartezjański, czyli zabójcza broń jeśli masz tabelę z wieloma rekordami. Ale zanim zaczniesz to zmieniać, to pod pojęciem "wieloma" mam na myśli ponad 10 tys. rekordów. Jest to bowiem porównanie każdy do każdego więc ilość pracy rośnie bardzo szybko wraz z kolejnymi rekordami. Sam oceń ile masz rekordów w tej chwili, i ile możesz mieć w przyszłości. Czasami pewnym rozwiązaniem problemu jest użycie LEFT lub RIGHT JOIN ale to już zależy od specyfiki danego zapytania i też nie jest antidotum na wszystko.
  4. podobnie jak pkt. 1 i 2 funkcje bazodanowe również polecam pisać z wielkich liter, czyli COUNT(), MAX(), NOW(), DATE_ADD() itp. takie same konwencje stosuje się np. podczas tworzenia procedur składowanych czi triggerów.
  5. z kolei nazwy tabel i pól zalecam pisać małymi literami. masz wtedy jednoznaczne rozróżnienie co jest kwerendą/funkcją, a co tabelą/polem.
  6. przy tego typu operacjach na łączonych tabelach polecam poomyśleć nad odpowiednimi indeksami i ewentualnie foreign key dla zabezpieczenia niektórych operacji - nie wiem czy to masz, więc to tylko taka luźna uwaga.

Jeśli rozwiązanie z dodaniem imienia do select nie ruszy to proponuję, abyś wrzucił również strukturę tabelek co znacznie ułatwi analizę zapytania.

Podobne pytania

0 głosów
3 odpowiedzi 1,057 wizyt
0 głosów
0 odpowiedzi 251 wizyt
pytanie zadane 6 lipca 2016 w PHP przez GaCeL Dyskutant (7,500 p.)
0 głosów
1 odpowiedź 680 wizyt
pytanie zadane 20 października 2016 w SQL, bazy danych przez Bartess Gaduła (3,630 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...