Mam takie zapytanie:

SELECT * FROM baza WHERE wartosc1 = 4 AND nazwa = "name" AND wartosc2= 0 AND czas >= "12:21" ORDER BY czas LIMIT 6
zwraca mi 6 rekordów, których czas jest równy lub większy niż 12:21. jest dobrze, działa jak chcę. problem pojawia się, gdy chcę zwrócić jeszcze 3 rekordy, których czas jest mniejszy niż 12:21. jak mam sformułować zapytanie by nie grzebać się z robieniem kolejnego zapytania? kombinowałem
Co byłoby najtańszym, ale jednocześnie stabilnym i poprawnym jakościowo rozwiązaniem dla komputera typowo dla kopii zapasowych baz danych? Myślałem o najzwyklejszym PC wpiętym w LAN, duży HDD, udostępniony folder po LAN, a następnie zautomatyzowanie kopiowania całych baz po sieci na ten PC. Co myślicie? Może jakieś konkretne/gotowe rozwiązania? Jeśli nie to złożę coś samemu w małej obudowie. #pc #komputery #kopie #bazydanych #informatyka #it
@pitu120: Ok, teraz rozumiem i przepraszam - jestem prostym dżawowym bekendowcem i nie znam obyczajów panujących w tym zakresie ;) Dla mnie naturalne rozwiązanie tego problemu to wyświetlenie "próbujesz zrobić create table na niepustej bazie danych, spadaj na drzewo".
@JezelyPanPozwoly: To zależy jak bardzo te dane się będą różnić od danych użytkowników.
Jeśli w ogóle, to po co?
TO ma sens jeśli struktura będize inna - jak taka sama, to w jeden tabeli, odróżnione userem i w przypadku rozbudowy bazy o jakieś dodatkowe opcje, masz wszystko w jednym miejscu.
Ktoś może jest w stanie pomóc z odpowiedziami na te 2 pytania ?

1. Wyjaśnij na czym polega błąd w zapytaniu SQL:
SELECT o.imię, o.nazwisko, o.wiek, SUM(o.dochody) FROM osoby AS o GROUP BY o.wiek;

2. Co należy zrobić z hipotetyczną relacją OCENY(atrybuty relacji: nr indeksu studenta, imię studenta, nazwisko studenta, ocena, data wpisu, nazwa przedmiotu), aby była w drugiej postaci normalnej?

#bazydanych #informatyka #sql
hej koledzy ogarniający relacyjne bazy danych, sql etc. jak zaprojektować bazę, gdzie przechowuje w jednej tabeli ludzi person, w innej wszystkie daty z danego roku hireday i mam trzecią tabelę, która pozwala mi utworzyć relacje wiele do wielu pomiędzy tymi tabelami, tabelę: personhireday. czyli do jednej osoby może być przypisanych wiele dat, i do jednej daty może być przypisanych wiele osób. coś na zasadzie prostego systemu rezerwacyjnego, przy czym
@lukasz890123: tabela słownikująca daty jest bez sensu, dwie wystarczą - PERSONS, HIRES (Tabele jako zbiory encji nazywamy liczbą mnogą)

W PERSONS robisz jakieś PK -> ID - najlepiej jakiś int/big int o który zadba generator (broń Boże PESEL) + inne pole jakie uznasz za odpowiednie

W drugiej tabeli HIRES potrzebujesz min 3 pół:
- ID -> PK, int/big int
- PERSON -> FK dla tabeli PERSON
- DATE -> DATE/TIMESTAMP

A
@Khaine no to kurde panie kolego. Jak mówimy o poważnej firmie, to niech bierze wersję ewaluacyjną (180 dni!) i postawi na jakichś swoich typowych obciążeniach. W sensie, oczywiście rozumiem że szukasz odpowiedzi, ale jak ma być dobrze i nie mowimy o drobnych, to będziecie się sugerować niepewnymi opiniami, czy starymi benchmarkami?
@Khaine no to bierz developerów i testuj, na pg oparto masę rozwiązań więc wydajność jest, co najwyżej nie będziecie umieli jej wykorzystać
Cześć. Mam pewien problem z optymalizacją zapytania. Zapytanie składa się w chwili obecnej z WITH query, z którego ściągam informację o płatnościach użytkowników. (samo subquery wykonuję się błyskawicznie) Z powyższego subquery chciałbym otrzymać tylko pojedyncze wartości dla danego usera (pierwsza transakcja). Korzystałem więc z rownumber() z order by po dacie transkacji i wybierałem te których rownumber = 1, lecz trwa to zbyt długo. Próbowałem też distinc on, wrzucenie subquery do
#sql #bazydanych #mssql

Nakieruje mnie ktoś jak to zrobić?

Są 3 tabele zamówienia(zamówinie wewnetrzne,zamówienie zakpuu) i elemnty z której wyciagam elemnty zmówień Nastepnie tabela zwiazane gdzie są oba zamowienia połaczone.Musze porównać sume elementów i rozróźnić 3 przypadki =,!=,brak połączenia

Nie wiem jak to joinować żeby był efekt

A B Wynik
2 2 tak
12 10 nie
brak brak brak

select SUM(e.iloscA),Sum(ezu.iloscB) from t.Zamowienia z
inner join t.elemnty e on e.id=z.id
inner join