Zarzucę trochę niepopularnie - o SSIS. Straciłem na to dość dużo czasu, a może komuś pomogę.

Kejs w SSIS:

Jest sequence container, w który sql task odpowiada za truncate tabeli, a później ta sama tabela jest ładowana przez OLEDB Source. Trzeba zrobić tak, żeby transakcja obejmowała cały sequence container i jeżeli wywali się ładowanie danych, wykonywała kontener ponownie od początku. No i oczywiście trzeba użyć checkpointów (bo kontenerów jest w bród).

Rozwiązanie
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@enef: Ale grupowanie dziala tylko z funkcajmi agregujacymi - SUM(), MAX(), AVG() i tak dalej.

Poza tym cochcesz osiagnac robiac UNION dwoch takich samych zapytan?

EDIT: A teraz widze ze to dodwoch roznych tabel :)

Co nie zmienia faktu ze takie 'grupowanie' nei ma wiekszego sensu.
  • Odpowiedz
@zgaS: Tego, że nie warto próbować nie powiedziałem, ambicje są fajne i warto je mieć :) Na pewno życzę ci powodzenia! Ja jednak mam do czynienia z SQL-em (jako admin) i wciąż mi wiedzy mało. Nie można się tego tak po prostu "nauczyć", przestaniesz dopiero jak pójdziesz na emeryturę...
  • Odpowiedz
Zastanawiam się czy nie pomylili się i na końcu nie powinno być "Oracle, MySQL". Wszystko tam działa na platformie Microsoft i dziwne by było gdyby to nie był Microsoft SQL Server. Poszedł bym jednak w stronę T-SQL'a, to chyba najlepsze wyjście. Poświęć też trochę czasu na SQL Server Management Studio (SSMS) i Analysis Service (AS). Przyda się.
  • Odpowiedz
Mirki, jak mam tablicę dwuwymiarową w programie ( #java ), w niej zapisuję sobie porównania parami (może kojarzycie metodę AHP ;) ). Teraz zastanawiam się, jak to przetrzymywać w bazie danych - tworzenie takich samych tabel odpada chyba, jakoś dziwne by to było. Czy może jakoś ją serializować? Nie wiem, jak to ugryźć, żeby było dobrze zrobione.

#programowanie #sql #bazydanych
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@szoorstki: zrobiłbym to tak: tabela rzeczyDoPorownania(rzeczId, nazwa) i tabelę porownania(pierwszaRzeczId, drugaRzeczId, wartoscPorownania)

Ale to takie gdybanie, bo tak naprawdę nie wiem, jaką strukturę danych chcesz zapisać...
  • Odpowiedz
@szoorstki: jeżeli para (pierwszaRzeczId, drugaRzeczId) jest unikalna to może być kluczem głównym w tej tabeli. Nie musisz niczego dodatkowo generować. A co do ilości porównań - dopóki nie liczysz ich w setkach tysięcy to możesz się nie przejmować :)
  • Odpowiedz
Może tutaj ktoś będzie mi w stanie pomóc.

Po przeniesieniu strony (php-fusion) na inny serwer całkowicie posypało się kodowanie, zarówno rzeczy które są w bazie, jak i wszystkich locali które są na serwerze. Siedzę nad tym od kilku godzin i nijak nie mogę tego rozgryźć, na co powinienem zwrócić uwagę?

#php #programowanie #sql
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Ghuthek: Ustawienie kodowania tabel w strukturze mysql to jedno, ale jesteś pewien, że przy połączeniu z mysql skrypt wymusza używanie utf-8?
  • Odpowiedz
[ #mysql #sql ]

mirki, z sql zazwyczaj nie mam problemu, ale chyba utkąłem.

w tabeli są dwie kolumny: godzina [time] i liczba [int]. pytanie: jak pogrupować dane po godzinie do dwóch stref czasowych 00:00:00 - 11:00:00 i 12:00:00 - 23:00:00 żeby zliczyć sumę liczb w obu tych zakresach godzin? przyświeca mi idea z podzapytaniem w leftjoin do samej sobie, ale skomplikowanie rozwiązania znacznie przewyższa wartość "projektu" ;)
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@tomix: Przy takim przyroście to bez różnicy - każde rozwiązanie będzie dobre - i union i case. Ewentualnie możesz zrobić triggera on insert, który będzie ustawiał z automatu strefę czasową - odpytanie takiego widoku będzie szybsze (o ułamki sekund - mając na uwadze liczbę danych) i przeniesiesz kod na tabele. Ale to bardziej sztuka dla sztuki.

BTW - zamiast rozpisywać drugiego whena w case, możesz zrobić else.
  • Odpowiedz
@sokytsinolop: Pisząc jako SP oszczędzisz latania sobie w te i wewte między serwerem php a bazą danych więc będzie szybciej. Aczkolwiek ja bym jednak dał pole parrent jako typ SET i korzystał z FINDINSET(), dla czwórki ustawisz jako '3,1' i będzie cacy. Chociaż oczywiście to rozwiązanie też nie jest najszybsze bo to w końcu MySQL
  • Odpowiedz
Jakich poleceń używa się w SQL do tworzenia relacji między kolumnami różnych tabel? Macie jakieś dobre źródło? Ew. jakieś dobre narzędzie do automatycznego tworzenia diagramów baz danych, najlepiej lokalnych - .db? Może jakieś funkcje VS?

#sql #programowanie #bazydanych
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak zwykle - kontakt do rekrutera na pw

Role: SQL Server Developer

Location: Dublin West (excellent transport links)

Salary:
  • 23
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

kontrakt 2-3 tygodnie


jest potem szansa pracy zdalnej

@aaadaaam: Po pierwsze to kontrakty zwykle trwaja 3miesiace+.Albo moga trwac latami.

No i z tego co wiem to jesli nie masz wczesniejszegho, weryfikowalnego doswiadczenia na wyspach to moze byc ciezko wskoczyc tak szybko na parce zdalna. U mnie w firmie sporo osob pracuje zdalnie - albo tak jak ja - 100km od Dublina, albo tak jak inni koledzy - z Polski, Kanady,
  • Odpowiedz
SELECT YEAR(data) AS RokSprzedazy, COUNT(fakturaID) AS IloscDokumentow FROM faktury GROUP BY RokSprzedazy HAVING RokSprzedazy BETWEEN 2006 AND 2008


@singollo: W Mysql tak - dlatego tez....

Note that MySQL, unfortunately, doesn't adhere to this standard, causing nothing but confusion. Don't fall for MySQL's tricks. GROUP BY transforms table references. You can thus only reference columns also referenced in the GROUP BY
  • Odpowiedz
You can thus only reference columns also referenced in the GROUP BY clause.


@msq: To nie jest do końca prawdziwe, nie trzeba pakować wszystkich kolumn które wybierasz do GROUP BY, SELECT a1, a2, max(b1) from a JOIN b ON (....) GROUP BY a1 może być całkowicie poprawne nawet poza MySQL
  • Odpowiedz