Jako, żem postgresa opanował dość niewiele a sqlowe query muszę do niego zmodyfikować:
- mam większe zapytanie z joinami, które zwraca mi zestaw danych
- chciałbym, przefiltrować wyniki wedle daty z kolumny A lub B (per miesiąc, przed lub po aktualnym), pogrupować jeżeli mają takie same wartości w kolumnach C i D i w ostatniej komórce wiersza pogrupowanych wyników otrzymać counta z tej grupy (np. w lutym gdzie C=X i D=Z jest N wyników)

Pomoc
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Treść przeznaczona dla osób powyżej 18 roku życia...
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #naukaprogramowania #sql
Witam, mam drobne ale pilne pytanie, Czy mogę posortować rekordy w bazie za pomocą polecenia GROUP BY? Przykład CREATE TABLE DZIENNIK(ID int not null PRIMARY KEY IDENTITY(1,1), Uczen nvarchar(50), Ocena int)
I chciałbym abym uzyskał maksymalna ocene dla każdego ucznia posortowaną względem tej wartosci maksymalnej.
Kombinowałem tak

SELECT Uczen, MAX(Ocena) FROM DZIENNIK
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@dexter1557 po prostu doszedłeś do momentu w rozwoju kodu, że lepiej wywalić wszystko i zacząć od nowa i będzie lepiej :D Tak bywa, męczysz coś 5h, potem "a walić, przepisuję", napiszesz niby tak samo, a nagle działa :D
  • Odpowiedz
Czyść,
Tworzę bazę danych, tematyka piłkarska (jak widzę nie tylko ja) i tworzyłem taką prymitywną tabelę ligową, ale napotkałem na problem. Otóż mam tabelę MECZE, w której wprowadzam Gospodarza (odpowiada id klubu), Goscia (również jako id klubu), gole gospodarza, gole gościa i data (data taka ręcznie wprowadzana w sumie do niczego konkretnego się nie przydaje).
Pomijając to, że pewnie idzie rozwiązać dużo prościej, to co tu poniżej zamieściłem działa, aczkolwiek ma jedną
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Marynowany:
1. przy odpalaniu triggera rdbms tworzy tabelę inserted/updated/deleted - odpowiednio do operacji jaka była wykonana. W niej masz rekordy których tyczy się operacja - wykorzystaj ją.
2. w pojedynczej operacji update możesz zaktualizować wartości kilku kolumn (kolumna = wartość, [kolumna = wartość])
  • Odpowiedz
Dlaczego tak się dzieje?

Mam przykładowo takie zapytanie:

select p.id,p.name,p.lastname,s.codeId,... from PersonalData p
join something s on p.id = s.id
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Tworzę bazę danych dla rozgrywek piłkarskich, mam tabele mecz i sędziowie, chciałbym żeby w jednym meczu mogło brać udział maksymalnie 3 sędziów jak wprowadzić to ograniczenie przy tworzeniu trzeciej tabeli pomocniczej:

CREATE TABLE sedziowiewmeczu (
idsedzia INT NOT NULL,
id
mecz INT
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 1
@ronek22: przy kazdym insercie sprawdzaj warunek na ilosc istniejacych sedziow dla danego spotkania. Powyzej trzech - odrzucaj inserta. Najlepszy trigger
  • Odpowiedz
Jakie #ksiazki z zakresu #sql moglibyście polecić? Chodzi mi bardziej od strony developera ale podstawy administracji też mogą być. W pracy używam MS SQL Management Studio 2012 ale tylko z własnej inicjatywy żeby się nauczyć pisania kwerend. Po angielsku książki nie stanowią problemu :)
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#oceniamyudemy
Oglądnąłem parę rozdziałów Advanced SQL i muszę przyznać że koleś fajnie tłumaczy. Na początku każdego zagadnienia daje krótki wstęp teoretyczny do czego wykorzystuje się opisywaną funkcję, a potem pokazuje różne sposoby na jej zaimplementowanie.
Jedyne do czego można się przyczepić to wschodni akcent lektora (jakieś indie).
Ogólnie mocne 8/10
#sql #bazydanych #mssql
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Jurigag: 8k z takimi wymaganiami? - tylko jak jesteś zdesperowany, a spełniając te wymagania na bank tak nie jest, bo w ofertach można przebierać wtedy jak w ulęgałkach. 12k to absolutne minimum moim zdaniem.
  • Odpowiedz
Miraski z pod tagu #programowanie (i nie chodzi o vana z popularnej pasty)

W #pracbaza chcą zebym się uczyl #sql , oczywiscie będzie się to wiązać z dodatkową $ więc wstępnie się zgodziłem. Wiem że proces nie będzie lekki ani krotki ale myślę że warto.

I teraz pytanie: od czego zacząć? Czy jakieś kursy, książki, artykuły? Może macie jakieś sugestie albo polecane strony lub książki.

Będę
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#sql #tsql #bazydanych
Mirki możecie mi powiedzieć jakie są główne różnice między SQL a T-SQL?
Tak myślę że SQL ogarniam, ale każdy tutorial/książka/cokolwiek z t-sql po prostu nie uczy mnie nic nowego...
Przeglądnąłem https://mva.microsoft.com/pl/training-courses/podstawy-jzyka-tsql-10164 i nie nauczyłem się nic czego bym nie wiedział.
Możecie podrzucic jakieś materiały?
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#mysql #sql
Jak mogę stworzyć trigger który sprawdza czy wpisane imie to coś tam a jeżeli tak to podmień je na inne?

create trigger name_update before insert on messages
if NEW.name = "Karyna" then NEW.name = "Katarzyna"
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ziolo86: Rozłóż to może jakoś na linijki bo obecnie debugger pokazuje linę w której jest kilka poleceń i nawet ciężko coś wywnioskować.
Po rozłożeniu spróbuj odpalić i pokaż w której linii jest wg niego błąd.
  • Odpowiedz
Niektórych technologii lepiej nie tykać. Lepiej zabierz się za Postgresql.


@informatyk15000k: Sql to sql. Dopiero w szczegółach jest inaczej. Dla zielonego do pewnego momentu nie ma znaczenia który to RDBMS.
  • Odpowiedz
Mirki mam pewien problem.
Mam sobie sql'a który wyciąga mi ilość ipków w danej godzinie w ciągu dnia.

SELECT EXTRACT(HOUR FROM created) as t_hour, COUNT( DISTINCT ip ) as t_sessions FROM logs WHERE created >= '2016-04-18' GROUP BY EXTRACT(HOUR FROM created)
Nie wiem jak mam zmodyfikować zapytanie by pominął IP które już wcześniej znalazł.

mam
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nie mam jak sprawdzić, ale powinno być ok ;)
SELECT
EXTRACT(HOUR FROM created) as thour
,COUNT( DISTINCT ip ) as t
sessions
FROM
  • Odpowiedz