Mam chyba jakieś zaćmienie mózgu bo nie potrafię rozwiązać tego (z pozoru?) prostego problemu:

Potrzebuję napisać zapytanie sql ( baza mssql), które znajdzie wspólne sprzedawane produkty dla 3 hurtowni. Czyli tak:
- interesuje mnie tylko to czy dany produkt był w sprzedaży we wszystkich 3 hurtowniach w danym tygodniu (wystarczy, że był w jakimś dniu w jakimś tygodniu i to się zalicza) - generalnie to sobie ogarnąłem w taki sposob:

Wszystko Mam
@D4nielek: Myślę, że łatwiej by było się połapać jakbyś jakiś DDL tabel i query wrzucił na coś pokroju pastebin bo jak sam widzisz mirko się do tego nie nadaje i więcej czasu trzeba by spędzić na odkodowaniu tego co napisałeś, niż pomyśleniu nad odpowiedzią.
  • Odpowiedz
  • 1
@Drmscape2 @przecietnyczlowiek @konradpra @peoplearestrange dobra ogarnąłem to, trochę inaczej ale i tak mi pomogliście bo w jakiejś części wykorzystałem to co pisaliście

Zrobiłem zmienna z liczba tygodni od daty co chcialem a potem w zapytaniu głównym Dodatkową kolumnę z użyciem funkcji okna, która mi zwracała w ilu tygodniach od wymaganej daty pojawił się produkt to wszystko dla 3 zapytań pomniejszych bo uzywam INTERSECT dla zwrócenia wspólnych części i na końcu filter gdzie
  • Odpowiedz
#it #bazydanych #sql #sqlserver #mysql #informatykmops

Siema, mam problem z połączeniem się na serwer MySQL. Próbuję uruchomić przez xamppa serwer MySQL i nie może się uruchomić. Na localhoscie też nie mogę wejść do phpmyadmin i wyskakuje to co na screenie. Wie ktoś w jaki sposób to naprawić? Hasło do roota niestety ale nie wiem jakie jest, a jak próbuję coś zdziałać w terminalu, to prosi mnie o hasło. Jestem początkujący w temacie
tomekszz - #it #bazydanych #sql #sqlserver #mysql #informatykmops

Siema, mam problem...

źródło: 414208804_923835438802047_7879760690091826435_n

Pobierz
  • 0
@Supaplex: Pliku z logami mysql nie mogę odczytać, bo nie mam uprawnień tylko config. Po kilku spędzonych godzinach i oglądaniu tutoriali hindusów na yt udało mi się przywrócić mysql-a do żywych. Nie wiem tylko czy w 100%, bo robiłem jakieś próby bezpiecznego uruchomienia w terminalu, przed tym coś jeszcze ale nie pamiętam bo była późna noc, ale narazie działa. Z tego co wiem, to nie dokończyłem konfiguracji serwera po zainstalowaniu mysql
  • Odpowiedz
Na świeżo zainstalowanym Windows Serwer 2022 mam SQL Server 2021, no i ze stacji roboczej nie mogę połączyć się z bazą danych na tym serwerze. Jak wyłączę na serwerze firewall to łączy się. Jak tylko włączę firewall to mam błąd połączenia, mimo że w regułach przychodzących mam zezwolenie na porcie TCP 1433. Dodałem również zezwolenie dla aplikacji sqlservr.exe. Co ciekawe na jednej ze stacji roboczych nie występuje ten problem, jednak muszę łączyć
@Eustachy_goli_pachy faktycznie tyle używasz? Czasami się okazuje że miejsce zajmują jakieś tabele z logami, które wystarczyć wyczyścić, albo pliki które można trzymać na jakimś zewnetrZynym zasobie, FTP,smb
  • Odpowiedz
Czołem!
Mam niedługo rozmowę techniczną na staż w pewnej firmie, zadania na owym interview będą głównie z t-SQL oraz z SQL Server Integration Services, być może coś związanego z ETL. Podzieli się jakaś dobra dusza informacją, lub własnymi przypuszczeniami jakiego typu zadań mogą mnie tam spotkać? Dziękuję z góry i pozdrawiam.

#sql #mysql #datascience #bazydanych #tsql #sqlserver
@maxiek: kilka luźnych sugestii

Zapytania t-SQL: Możliwe, że zostaniesz poproszony o napisanie złożonych zapytań SQL, które będą wymagały znajomości różnych funkcji, klauzul i operatorów t-SQL. Przykładowe pytania mogą dotyczyć filtrowania, sortowania, grupowania, łączenia tabel, podzapytań itp.

Tworzenie procedur składowanych: Możliwe, że będą Cię prosić o napisanie procedur składowanych w języku t-SQL. Procedury składowane są użyteczne do wielokrotnego wykonywania określonych operacji na bazie danych.

SSIS i ETL: SSIS to narzędzie do integracji
  • Odpowiedz
Mam pytanie odnośnie #sql i #tsql

W kolumnie mam ciąg znakowy, przykład:
1. * abcdef * acd * abcd * 1234 * abbb11 *
2. abcd * abcdef * abc * 123 * abdefhh1 *

Zależy mi, aby wydobyć ostatnią wartość od prawej strony pomiędzy znakami * *.
Czyli w tym przypadku:
1. abbb11
2. abdefhh1

Te ciągi znakowe mogą być różnych długości itd.
Próbowałem z SUBSTRING i RIGHT, ale ciągle mam
ten uczuć gdy misternie rozplanowana struktura tabel sql w modelu danych zapełnia się misternie stworzoną aplikacją.
i te linijki logów które przeglądasz i sprawdzasz jakim cudem tego nie #!$%@?łeś że tak wszystko pięknie wpada na swoje miejsce ( ͡ ͜ʖ ͡)

#programowanie #sqlserver
@HeavyMagicMissle jako osoba która się tym zajmuje wyjaśnię pokrótce o co chodzi :) W ogłoszeniach masz głównie SQLa, bo stanowisko może dotyczyć właśnie tworzenia zapytań do raportów lub do użycia przez aplikacje. Często w takich ogłoszeniach jest napisana konkretną baza, czy to Oracle czy SQL Server czy coś innego. Każda baza ma swój silnik, swoje sposoby optymalizacji i tak dalej.
Czy można odbyć się bez osoby, która zna SQLa tworząc aplikacje? Pewnie,
  • Odpowiedz
Zachciało się studiów na stare lata, to teraz mam problemy.

Potrzebuję jakiegoś miejsca zaczepienia, skąd wziąć informacje, ewentualnie podpowiedzi jak to ruszyć, bo sam nie mam pomysłu :/

Mam stworzyć rozproszoną bazę danych w MS SQL Serverze, gromadzącą dane o sprzedaży biletów lotniczych w wielu krajach działania systemu, każdy kraj to osobna baza. Tylko albo jestem debilem, albo na tych wykładach skupiał się na czymś innym, do tego to dał na początku
zaprojektuj normalną bazę, #!$%@? ją po kolejnych instancjach sqlservera, być może jako snowflake. Wepnij ten szajs do centralnej żeby pokazać że możesz odpalać query dla poszczególnych "krajów" z jednego miejsca, wypełnij gównodanymi i w zasadzie na studia powinno to wystarczyć


@Arogancky: i ostatecznie coś takiego robię, dzięki

chatgpt spróbuj. ( ͡° ͜ʖ ͡°)


@devopsiarz: wcześniej próbowałem kilkukrotnie, to zwracał takie bzdury, że nawet ja wiedziałem, że
  • Odpowiedz
odpowiedz


@Smartek: ja często u kleintów co pół roku zmieniam instancję na nową i kilka razy zdarzyło się że instalowałem sql 2016 gdy baza była na sql 2012 i nie było problemu. Co innego jakbym chciał przejść z wyższej wersji na niższą
  • Odpowiedz
Pytanie. Tworzę hurtownię danych na SQL Server/Azure SQL. Na źródle mam pewne kategorie jako nvarchar. Np. typ dokumentu = faktura albo zamówienie. Podczas ładowania ze stagingu do hurtownii, denormalizuję tabele by uzyskać tabelę faktów czyli np. robie joina z jednej tabeli do drugiej, gdzie warunek to typ dokumentu = typ dokumentu. Czy dostaję jakąś stratę na performancie, że robie takie rzeczy po tekście zamiast jakichś integerach np? Czy uzyskałbym lepszy perfomance gain
@przecietnyczlowiek:

Czy dostaję jakąś stratę na performancie, że robie takie rzeczy po tekście zamiast jakichś integerach np?

Tak

Czy uzyskałbym lepszy perfomance gain gdybym na wejściu zrobił case when [typ dokumentu] = faktura then 1 itd. i potem po tym joinował?

Nie
  • Odpowiedz
@EiderSeek: Dziwnę bo w cte mogę zrobić tylko

with ct1
as(
select * from dual
)
ale już nie mogę zrobić jakiegoś innera w ct bo wywala błąd:

Msg 8156, Level 16, State 1, Line 319
The column 'ID' was specified multiple times for 'ct1'.
  • Odpowiedz
Mirki mam SQL Express 2014. W nim bazę np DEMO. Od godziny próbuję utworzyć skrypt, który wrzucony w harmonogram będzie codziennie robił kopie zapasowe.
Kopie będą na dysku D:\backupSQL Chciałbym aby codziennie tworzył się plik z datą i godziną. Próbowałem już kilku gotowców, ale nic z tego.
Serwer .\SQLExpress
Muszę jeszcze włączyć jakąś opcję w SQL Management aby backup się robił?
#sql #sqlserver #informatyka #serwery
@M4rcin:
Masz problem ze skryptem, czy z harmonogramem? Skrypt może wyglądać np. tak:
DECLARE @dbname VARCHAR(50)
DECLARE @BackupFolder varchar(255)
DECLARE @d VARCHAR(20)
DECLARE @ExpireDate datetime

set @BackupFolder = 'C:\DATA2\Backup\'
set @dbname = 'DEMO'

-- data
SELECT @d = CONVERT(VARCHAR(20),GETDATE(),112)
-- ścieżka do backupu
set @BackupPath = @BackupFolder + @dbname + '.BAK'
-- czas expiracji
SET @ExpireDate = DATEADD(hh, 1, GETDATE())

-- backup
BACKUP DATABASE @dbname TO DISK = @BackupPath WITH EXPIREDATE
  • Odpowiedz
@M4rcin:
Możesz zamienić ten kod sql na procedurę i zamiast mieć przypisaną na stałe wartość w zmiennej @dbname to przesunąć ją do parametru procedury. No trzeba zmienić fragment składający ścieżkę @BackupPath, żeby ten folder tam się zawierał.
  • Odpowiedz
Jeszcze nie guglałem stackoverflow jak to zrobić, może ktoś stąd wie. Mam nietrywialny problem. Nie wiem jak zrobić laga (poprzedni wiersz) w partition by albo jakoś inaczej, ale tak by lag ignorował warunek where? SQL Server.

Mam sobie tabelę faktów która jest logiem zamówień z systemu. Każde zamówienia może mieć 1 lub więcej wersji. Wersja się zmienia gdy w zamówieniu zostanie zmieniona kwota (w uproszczeniu). Np. zamówienie było najpierw z kwotą 100,
przecietnyczlowiek - Jeszcze nie guglałem stackoverflow jak to zrobić, może ktoś stąd...

źródło: comment_1647970842jjDPC0ERvEYfrejDvwUrFS.jpg

Pobierz
via Wykop Mobilny (Android)
  • 1
@przecietnyczlowiek: CTE z * i ROW_NUMBER PARTITION BY Id ORDER BY Version DESC ze tabeli docelowej (target), potem zapytanie
SELECT * FROM source WHERE Timestamp > (SELECT MAX(timestamp) FROM target)
UNION ALL
SELECT * FROM CTE WHERE rn = 1
I na tym zapytaniu (może być jako drugie CTE) robisz sobie swoje obliczenia LAG

Indeks dla ROW_NUMBER według zasady POC może pomóc (partition -> ordering -> covering)

O ile dobrze zrozumiałem
  • Odpowiedz
@bruce: Standardowo w regulaminie powołują się na wyrok UE który dotyczył Oracla i ciut innych praktyk. Technicznie się da odsprzedawać takie licencje, ale to Ty musisz mieć dowody:

https://spidersweb.pl/2018/05/windows-pirat-legalnosc.html

Pierwotne wprowadzenie kopii programu do obrotu nastąpiło na obszarze Unii Europejskiej za zgodą osoby, której przysługują prawa autorskie (w postaci fizycznego nośnika danych lub przez udostępnienie w Internecie),
Udzielenie licencji na oprogramowanie nastąpiło jako świadczenie wzajemne w zamian za wniesienie opłaty, umożliwiającej
  • Odpowiedz
Szukam narzędzia, dzięki któremu można by zanonimozować dane w bazie.
Najlepiej jeśli byłoby to darmowe narzędzie.
Sprawdzałem już Anonimatron, ale za szybkie to nie jest.
Parę tabel w bazie jest, a jeszcze więcej rekordów w tych tabelach (największa tabela ma ponad 100 000 rekordów).
Może akurat jakiś mirek się znajdzie, co ma coś fajnego do polecenia.
A jak już niczego darmowego i sensownego nie ma, to może też być coś płatnego.
@Hiraga: Eksportujesz bazę, backup czy kopia - zależnie od możliwości.
Otwierasz i zmieniasz dane w tabeli/tableach jakimś prostym skryptem, tylko musisz wiedzieć które dane są wrażliwe i gdzie one są. Żadna aplikacja ci tego nie załatwi - chyba, że baza jest z jakiejś standardowej aplikacji, którą oprogramowanie do anonimizacji zna.

Skrypt to pętla po tabeli/tabelach podmieniająca wartości w rekordach na losowe, a gdy wykonasz to w jeżyku bazy (tsql) to nawet
  • Odpowiedz
@Supaplex: Akurat fajnie by było jeśli mogłaby zrobić to osoba, która nie na się na tego typu rzeczach.
Sprawdzam tylko możliwości, najwyżej się coś samemu napisze.

A co do standardów, tamta firma ma dużo swoich własnych ( ͠° °) Ale na to już nic nie poradzimy.

  • Odpowiedz
Jest jakiś poradnik dla osoby która by chciała się aktywować w #sql ?
Jakie są ścieżki rozwoju, co trzeba umieć, jakie technologie znać ? Jaki jest próg wejścia ?
Czy jak w #programista15k jest junior, mid senior ?

@gokihar: no zaczynasz od podstaw SQL. Najlepiej sobie znajdź jakiś konkretny kurs lub książkę z SQL, ja się uczyłem z D.Mendrala SQL - Praktyczny Kurs, czy coś takiego, może są lepsze, może gorsze nie wiem, ale moim zdaniem ta książka była okej. Potem możesz zacząć czytać o BI, na początku głównie poczytać o hurtowniach danych, projektowaniu hurtowni czy schematach w nich wykorzystywanych. W BI masz generalnie dwie ścieżki, albo idziesz w
  • Odpowiedz
@gokihar: Zacznij od SQL-a (po kolei: select, where, case, rodzaje joinów, filtrowanie przez joinowanie, operacje na NULLach (coalesce(), is (not) null itd.),, distinct, operacje union, union all, intersect, except/minus itd., agregowanie danych, funkcje okienkowe, zapytania skorelowane, wspólne wyrażenia tablicowe (common table expressions), zapytania rekursywne, selecty nieodwołujące się do tabel, cross/outer apply), i moze coś jeszcze, ale teraz mi do głowy nie przychodzi.
Naucz się, jakie zadania pełnią klucze główne i klucze
  • Odpowiedz
Gdyby komuś przestały wysyłać się maile z #sqlserver za pomocą Database Mail i konta Microsoft Exchange, to wyłączyli (Microsoft) TLS1.0 i TLS1.1.
Można wówczas ponownie włączyć to w ustawieniach exchange wchodząc w Mail flow i zaznaczając Turn on use of legacy TLS clients. Wówczas należy w konfiguracji skrzynki pocztowej po stronie Database Mail podać nowy adres serwera pocztowego: smtp-legacy.office365.com.

Wczoraj wieczorem padło mi wysyłanie maili, ale udało się dojść dlaczego i rozwiązać
  • Odpowiedz