Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SQL Loesungsvorschlaege gesucht (Joins, pivots, etc...)

Frage Entwicklung Datenbanken

Mitglied: T-Virus

T-Virus (Level 1) - Jetzt verbinden

27.05.2008, aktualisiert 06.06.2008, 2412 Aufrufe, 1 Kommentar

Hallo,

da ich nicht so der SQL Profi bin und nur wenig von der Perfekten Ausführung(Performance) verstehe
würde ich auch bitten mir in den folgenden Beispielen etwas auf die Sprünge zu helfen

Also ich möchte im Endeffekt 3(später20) Tabellen Joinen und möglichst doppelte Datensätze vermeiden.
Ich weiß es ist recht viel zu überlegen aber ich hoffe ihr habt Tipps für mich! DANKE!!!
Biber ich zähle auf dich ;)

Ich beschreibe erstmal die Tabellenstruktur

Tasks enthält Projekte die jeweils in Sub und Toptask unterteild sind
plus dem Status und dem Project Manger(Sub/Toptask)
01.
Tabelle - Tasks 
02.
 
03.
ProjectNr.    Level    TaskNr.    TaskStatus    TaskManager   SoNr.   SoTaskNr. 
04.
1234          1        5.0        Pre-Fertig    Mr.X          9999    1.1 
05.
1234          2        5.1        Fertig        Mr.Y          9999    1.1 
06.
4321          1        5.0        Offen         Mr.C          8888    1.2
Stunden gebucht auf Projekt bzw Task.
01.
Tabelle - Stunden 
02.
 
03.
ProjectNr.    TaskNr.    Stunden 
04.
1234          5.0        15 
05.
1234          5.1        2 
06.
1234          5.0        5
Kosten einfach der Verkaufswert plus im welchen Quartal diese bezahlt wurden.
01.
Tabelle - Kosten 
02.
 
03.
SoNr.    SoTaskNr.  Quartal  Kosten  
04.
9999     1.1        Q1       3000€ 
05.
9999     1.1        Q1       -1000€ 
06.
9999     1.1        Q2       1000€ 
07.
8888     1.2        Q2       1500€
Mit Joins schaffe ich es dann diese Ausgabe zu erhalten...
01.
ProjectNr.    Level    TaskNr.    TaskStatus    TaskManager   SoNr.   SoTaskNr. ProjectNr.    TaskNr.    Stunden    Quartal  Kosten  
02.
1234          1        5.0        Pre-Fertig    Mr.X          9999    1.1       1234          5.0        15         Q1       3000€ 
03.
1234          1        5.0        Pre-Fertig    Mr.X          9999    1.1       1234          5.0        15         Q1       -1000€ 
04.
1234          1        5.0        Pre-Fertig    Mr.X          9999    1.1       1234          5.0        15         Q2       1000€ 
05.
1234          1        5.0        Pre-Fertig    Mr.X          9999    1.1       1234          5.0        5          Q1       3000€ 
06.
1234          1        5.0        Pre-Fertig    Mr.X          9999    1.1       1234          5.0        5          Q1       -1000€ 
07.
1234          1        5.0        Pre-Fertig    Mr.X          9999    1.1       1234          5.0        5          Q2       1000€      
08.
1234          2        5.1        Fertig        Mr.Y          9999    1.1       1234          5.1        2          Q1       3000€ 
09.
1234          2        5.1        Fertig        Mr.Y          9999    1.1       1234          5.1        2          Q1       -1000€ 
10.
1234          2        5.1        Fertig        Mr.Y          9999    1.1       1234          5.1        2          Q2       1000€  
11.
4321          1        5.0        Offen         Mr.C          8888    1.2       (Null)        (Null)     (Null)     Q2       1500€
Am Ende möchte ich aber auf diese Ausgabe kommen...

01.
ProjectNr.   TaskStatus5.0  TaskStatus5.1  TaskManager1und2    Stunden    Q1     Q2    Q3  
02.
1234         Pre-Fertig     Fertig         Mr.X & Mr.Y         22         2000€  1000€  
03.
4321         Offen          (Null)         Mr.C                (Null)            1500€
Ich verstehe noch wie ich die Stunden Summiere allerdings nicht wie ich den TaskStatus und das Quartal "Pivote"
Vorallem weil es eine unbestimmte Anzahl an TaskNr und Quartalen gibt...

Frage: Beste Lösung, Performant, Indexing und was ich sonst noch vergessen habe zu beachten

Thanks4Help

LG
Mitglied: Logan000
06.06.2008 um 11:17 Uhr
Mit reinem SQL wirst du das nicht hinbekommen.
Falls Du einen MS SQL Server einsetzt kannst du dies mit Cursor bzw. einer Stored Proc. erledigen.
Die Performance wird allerdings nicht besondert toll werden.
Bitte warten ..
Ähnliche Inhalte
Datenbanken
SQL Auswertung 2 Joins und SUM

Frage von c64b311ee9 zum Thema Datenbanken ...

Datenbanken
gelöst SQL Multiple Join auf selbe ID (3)

Frage von Memo66 zum Thema Datenbanken ...

Microsoft Office
Pivot Tabelle schützen ohne Datenabschnitt (1)

Frage von lupi1989 zum Thema Microsoft Office ...

Datenbanken
SQL - Mehrere Tabellen über JOINS verketten (1)

Frage von Gwahlers zum Thema Datenbanken ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...