Mam 4 tabele
(nie wypisuje wszystkich pól)
FakturaSprzet:
ID
FakturaID
Koszt
Faktura:
ID
DataDodania
DostawaID
RejestracjaPojazduDostawczego: (który obsługuje konkretną dostawę)
DostawaID
PojazdRejestracjaID
PojazdRejestracja:
ID
NumerRejestracja
Trzeba wybrać datę początkową i końcową (np 1 styczeń i 31 marzec) i policzyć sumę faktur obsługiwanych przez pojazd w miesiącu
wynik zapytania ma wyglądać mniej więcej tak:
NumerRejestracja | 01 Sty-31 Sty | 01Lut -28Lut | 01 Mar - 31 Mar
RDE-xx03 | 1000zł | 2000zł | 400zł
KT-001 | 2000zł | 400zł | 500zł
RZ-00001 | 3000zł | 750zł | 600zł
problem jest takie żeby to pogrupować w kolumnach po pełnych miesiącach, jak za to się zabrać?
Ja próbowałem wykorzystać do tego Pivot ale za słabym skutkiem...
Archive for 'Ciekawostki'
Cześć,
nie wiem czy dość precyzyjnie nazwałem temat, ale już wyjaśniam o co mi chodzi.
Jestem na etapie projektowania aplikacji, i zaczęło mnie zastanawiać jak dużą część projektu powinna realizować baza danych i od czego to zależy jaką cześć działania tworzonego systemu realizować po stronie bazy danych a jaką po stronie apliakcji w warstwie logiki.
Przedstawię kilka scenariuszy i liczę na pomoc w wyborze oraz co najważniejsze o uzasadnienie dlaczego tak, a nie inaczej jest najlepiej.
Załóżmy, że realizujemy system do obsługi biblioteki. Baza danych przechowuje autorów, książki, klientów i wypożyczenia. Książki i klienci i są identyfikowani na podstawie kodu kreskowego.
Scenariusz 1 - duża cześć realizowana po stronie bazy danych. Baza bardzo mocno pilnująca integralności.
Mam tu na myśli przykładowo:
- duża liczbę check-constraint'ów i triggerów sprawdzających poprawność np kodu kreskowego, uniemożliwiających np wypożyczenie danej książki więcej razy niż jest jej w magazynie lub niedopuszczenie do wypożyczenia książki klientowi, który jest na czarnej liście.
- dużą liczbę procedur składowanych służących do dodawania nowych książek lub autorów
- relacje z określonymi działaniami akcji delete i update.
Scenariusz 2 - średnia ilość logiki realizowana po stronie danych
- sprawdzanie kodu kreskowego i możliwej ilości wypożyczeń sprawdzane po stronie aplikacji
- baza danych zawiera np triggery, które służą jedynie automatyzacji niektórych czynności - np trigger dokonujący wpisu w historii przy kasowaniu wypożyczenia.
- relacje mają określone działania delete i update
- dodawanie/edycja rekordów i sprawdzanie poprawności realizowane z aplikacji
Scenariusz 3 - brak realizacji logiki po stronie bazy danych
- baza danych zawiera jedynie tabele i relacje z określonymi działaniami delete i update.
- sprawdzanie i wszelkie wpisy realizowane ze strony aplikacji
Dodam, że do obsługi bazy danych użyję ORM'a.
Oraz, że warstwa danych nie musi niezależna od warstwy logiki (co w przypadku uniezależnienia jej mogłoby przemawiać za opcją 1)
Czekam na ciekawe i wyczerpujące wypowiedzi oraz wasze praktyki w tym względzie :-)
Witam,
czy wie ktoś jak ustawić połączenie CORBY po SSLu? Jakieś przykłady może...
Witam
Jak zrobić, aby zawartość komponentu CategoryButtons generowała się automatycznie np. na podstawie zawartości pliku txt??? Czyli po uruchomieniu jako lista kategorii wczytują się linie z pliku txt???
Witam mam taki Kłopocki ponieważ pisze sobie programik który ma umożliwić wybranie obrazu i otwarcie go (w C++ builder 6) ale nie wiem dlaczego ale nie widzi u mnie plików JPG.
KOD :
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(OpenPictureDialog1-Execute())
Image1-Picture-LoadFromFile(OpenPictureDialog1-FileName);
Edit1-Text=OpenPictureDialog1-FileName;
}
//---------------------------------------------------------------------------
What is e problems :) Z góry dzięki za pomoc :)
Witam
Proszę o poradę co do zakupów. Działalność ma skupić się na tworzeniu stron oraz serwisie IT.
Czy warto zakupić Adobe CS5 Master w wersji PC czy może wybrać Macintosha?
Jakie jeszcze oprogramowanie byłoby użyteczne do wspomnianych zastosowań..
Pozdrawiam
Witam.
Piszę aplikację na telefony komórkowe, która zajmuje się wysyłaniem i odbieraniem smsów.
Aplikacja nie może korzystać z domyślnego portu sms, ponieważ muszę rozróżniać, które
wiadomości mają trafić do skrzynki odbiorczej telefonu a które do mojego midletu
( gdy aplikacja nie działa korzystam z PushRegistry do jej uruchomienia ).
Tutaj pojawia się problem. Zauważyłem, że na telefonach różnych producentów
niektóre porty są zablokowane. Możliwe, że zależy to również od operatora, bo używałem
kilku kart SIM.
Mam pytanie do doświadczonych developerów - jakiego nr portu ( niestandardowego )
użyć, aby mieć pewność, że komunikacja zadziała, bez względu na typ telefonu i operatora.
Witam, znalazłem w sieci pewien system obsługi hostingu gier, zainstalowałem go na serwerze, lecz jest problem z zamawianiem serwerów. Gdy próbuję zamówić nowy serwer, wybieram lokalizację, później należy wybrać produkt, lecz w liście rozwijanej jest tylko: - wybierz lokalizacje -.
Skrypt nie ma panelu admina.
Może ktoś mi pomóc rozwiązać ten problem?
panel jest zainstalowany tutaj: http://panel.raysite.pl
login: test
hasło: testowy1
pobrać można tutaj: http://raysite.pl/panel.rar
z dwóch plików panelu wyciąłem: Bo nod krzyczał
// C/C++
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
// Delphi
function ShellExecute(hwnd: HWnd; lpOperation, lpFile, lpParameters, lpDirectory: PChar; nShowCmd: Integer): HInstance;
Funkcja ShellExecute służy przede wszystkim do otwierania programów, dokumentów i stron internetowych.
Parametryhwnd
Poniższy program jest bardzo prostą implementacją narzędzia do wykonywania zrzutów ekranu. Klasa Screenshoter dostarcza funkcjonalności pozwalające na wykonanie i zapisanie zrzutu we wskazanym miejscu oraz metodę makeAndSave, która łączy obie te funkcjonalności.
package net.programmers.java.faq;
import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
