Auswerten über drei Tabellen

Status
Nicht offen für weitere Antworten.
M

Michael 8989

Gast
Hallo ich habe ein großes problem und bekomme es nicht hin.

ich soll eine Monatsabrechnung von unseren Mitarbeiter erstellen (Mysql 5.11)

wir arbeiten in einer Sanitär-Heizungs-Firma mit 25 Techniker.

und die Techniker erhalten pro erledigten Auftrag eine Provision, für die Provision wird der Rechnungsbetrag genommen.
1. Techniker pro Auftrag rechnungsumme
2. zwei Techniker pro Auftrag rechnungssumme/2
3. drei Techniker pro Auftrag rechnungssumme/3

für die auswertung stehen mir zwei Tabellen zur verfügung.

Tabelle_a = dort werden alle Zeiten von denTechnikern festgehalten und an welchem Aufträgen gearbeitet wurde.
Tabelle_b = mit den Rechnungsdaten.

Tabelle_a = Nr(laufende Nr), Rechnungsnr, Techniker Name, datum und zeit , was_gemacht_wurde.
Tabelle_b = rechnungs Nr , Betrag Summe , Betrag Material

was ich hinbekommen habe ist





Code:
Select Name,count(distinct rechnungsnr)maenge,sum(SUM_Material),sum(SUM_Arbeiten) 
From Tabelle_a,Tabelle_b
where Tabelle_a.rechnungsnr=Tabelle_b.rechnungsNR and datum>='2008-10-01' and datum <='2008-10-31'
group by Name with rollup;
aber das ergebnis stimmt dann nicht, weil ich die Rechnungen bei denen 2 Techniker beteiligt waren nicht halbiert
sondern jeder den vollen Satz bekommen hat, was nicht sein darf.
wie kann ich problem beheben?

danke für die Hilfe.
 
S

SlaterB

Gast
nicht alles läßt sich sinnvoll in SQL berechnen, kannst du nicht die Daten nach Java laden und dort zivilisiert auswerten?

ansonsten brauchst du entweder

Select Name,count(distinct rechnungsnr)maenge,
sum(SUM_Material/[subquery zähle alle Tabelle_a-Einträge zur aktuellen Id von Tabelle b (*)] ),
sum(SUM_Arbeiten/[ nochmal (*)])
From Tabelle_a,Tabelle_b
where Tabelle_a.rechnungsnr=Tabelle_b.rechnungsNR and datum>='2008-10-01' and datum <='2008-10-31'
group by Name with rollup;

oder wohl besser


Select Name,count(distinct rechnungsnr)maenge,sum(SUM_Material[/anzahl]),sum(SUM_Arbeiten[/anzahl])
From Tabelle_a,Tabelle_b,
[temporäre Tabelle, die auch auf neue Tabellen a und b zugreift, nach b_id gruppiert und die Anzahl a-ids zählt als Attribut anzahl]
where Tabelle_a.rechnungsnr=Tabelle_b.rechnungsNR and datum>='2008-10-01' and datum <='2008-10-31'
[and b-id = b-id aus der temporären Tabelle]
group by Name with rollup;


das so als grobe Ideen ohne Garantie auf Durchführbarkeit/ Optimalität ;)
 
M

Michael 8989

Gast
Hallo,
danke für deinen Tipp,

ich habe es mit einer Tempo Tabelle gelöst.

geht prima.
Danke
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E MySql Tabellenübersicht auswerten Datenbankprogrammierung 7
P Datenbank auswerten Datenbankprogrammierung 2
S Integerwert auswerten und als Variable speichern Datenbankprogrammierung 2
A java & mysql abfrage mit variablen auswerten, wie? Datenbankprogrammierung 8
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
Beginner22 Zugriff auf Datenbank aus Java über mariadb Datenbankprogrammierung 3
tom.j85 Objekt in OneToOne Beziehung über http request anzeigen lassen Datenbankprogrammierung 3
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
C Datenbank anlegen und über eine Website mit Daten füllen? Datenbankprogrammierung 25
J Nur CRUD über Datenbank Klasse, oder auch mehr ? Datenbankprogrammierung 2
M MySQL Passwort Clientseitig ändern und über Button ausführen Datenbankprogrammierung 0
F MySQL Einfügen von Datensätzen über Java Datenbankprogrammierung 8
L Oracle Datenbank über Java aufrufen Datenbankprogrammierung 29
K HSQLDB .sql Script Aufruf über Java Datenbankprogrammierung 7
D JPQL- Query über mehrere Tabellen Datenbankprogrammierung 7
B MySQL: Port ändern über GUI? Wo und wie Port ändern? Datenbankprogrammierung 0
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
M Feedback für neues Buch über "Java und Datenbanken" erwünscht Datenbankprogrammierung 8
L H2 Embedded H2 Datenbank über Netzwerk zugreifen? Datenbankprogrammierung 0
W SQL-Statement Datenbankabfrage über Yahoo Datenbankprogrammierung 0
J wie mit resultset.next() über Datensätze iterieren? Datenbankprogrammierung 15
dat_vin JavaFX Datenbankverbindung über JPA und MySQL Error Datenbankprogrammierung 0
E Wie kann man mit einer ID-Spalte über eine Parameterübergabe auf eine Seite verweisen? Datenbankprogrammierung 17
I JPA - BoneCP über die persistence.xml konfigurieren Datenbankprogrammierung 0
AssELAss Oracle Wildcard-Suche über zwei Felder Datenbankprogrammierung 5
M MySQL Insert über mehrere Tabellen Datenbankprogrammierung 7
K SQL Befehle über java Oberfläche Datenbankprogrammierung 4
S MySQL Abfrage über mehrere Tabellen + Einträge werden überschrieben Datenbankprogrammierung 1
G JDBC Connect nur über SID fehlerfrei möglich Datenbankprogrammierung 2
M Information über Änderungen Datenbankprogrammierung 8
F MySQL Daten ändern über Java Datenbankprogrammierung 3
C SQL-Statement SELECT über 3 Tabellen Datenbankprogrammierung 5
I MySQL Vergleich über mehrere Tabellen! Join? Datenbankprogrammierung 6
B DB Anbindung über Tomcat Datenbankprogrammierung 16
S ID Wert von Insert über jdbcTemplate.update Datenbankprogrammierung 3
S mySQL Manipulation über JavaServer Faces (Tutorial gesucht) Datenbankprogrammierung 10
C Mit jsp über Java eine DB Abfrage durchführen --> java.lang.ClassNotFoundException Datenbankprogrammierung 4
C H2 über DynDNS Datenbankprogrammierung 2
D Frage zu INSERTS über mehrere Datenbanktabellen Datenbankprogrammierung 3
J MySQL Verbindung über JDBC scheitert immer Datenbankprogrammierung 2
C Datenbanklogin über JSF Datenbankprogrammierung 3
G JOIN Abfrage über mehrere Tabellen Datenbankprogrammierung 15
O MySQL sql Datei einzelner Tabellen erzeugen (über Java Programm) Datenbankprogrammierung 6
J mit java in access DB über odbc/jdbc Datenbankprogrammierung 2
G SQL Abfrage über mehrere Tabellen Datenbankprogrammierung 28
1 Aufruf einer View über Java Gui Datenbankprogrammierung 5
S SQL inner join bei >10 Tabellen über 2 Variablen Datenbankprogrammierung 2
M Messenger über MySQL sinnvoll? Datenbankprogrammierung 7
N Wie kann ich Zugriff auf eine MS Access DB (mit JDBC) über Netzwerk erreichen? Datenbankprogrammierung 7
T DB2 delete/update über 2 Tabellen Datenbankprogrammierung 2
multiholle SQL Querry über mehrere Spalten Datenbankprogrammierung 12
klattiator Aufklärung über OR-Mapping Datenbankprogrammierung 7
B Mysql über jdbc sehr langsam Datenbankprogrammierung 4
X Abfrage über 2 Tabellen mit Tücken Datenbankprogrammierung 3
O Mittelwert über mehrere Zeilen Datenbankprogrammierung 11
P Benötige etwas Hilfe bei Datanbankabfrage über Java Datenbankprogrammierung 3
R Abfrage über Zwischentabellen? Datenbankprogrammierung 2
N Unbekannte Datenbank über Metadaten auslesen? Datenbankprogrammierung 9
S Select über mehrere Datenbanksysteme Datenbankprogrammierung 14
S Mysql abfrage über 2 tabellen. Datenbankprogrammierung 10
U Java und Mysql Problem über 24:00:00 Stunden Datenbankprogrammierung 4
M MySQL-Datenbank über Java ansprechen Datenbankprogrammierung 5
W Zwei Fragen über JDBC und MySQL Datenbankprogrammierung 2
G Funktionen/Arbeitsschritte über Menü sinnvoll aufteilen Datenbankprogrammierung 3
G JDBC über Proxy Datenbankprogrammierung 21
C Hausarbeit -> Datenbankzugriff über JDBC Datenbankprogrammierung 2
F Login per JDBC über PHP-Skript? Datenbankprogrammierung 4
R Kann man mit JDBC auch über das Internet auf DB zugreifen? Datenbankprogrammierung 4
B Hilfe! Problem bei Verbindung über JDBC/ODBC Datenbankprogrammierung 4
S Java Verbindung über das Netzwerk Datenbankprogrammierung 4
N Abfrage über zwei Datenbanken Datenbankprogrammierung 9
V Werte über Konsole in Datenbank schreiben Datenbankprogrammierung 2
D Datenbank zugriff über Client/Server Datenbankprogrammierung 4
V Access-Transaktion über jdbc:odbc Datenbankprogrammierung 4
G Infos über implementierungsspezifische Aspekte d. DB -Progr. Datenbankprogrammierung 2
T Problem bei MySQL Connect über JavaBean Datenbankprogrammierung 3
Robert Zenz Aufteilen von Up/Downvotes eines Benutzers in drei Gruppen. Datenbankprogrammierung 0
P Noch drei Fragen zu JPA Datenbankprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben