JPQL Query für eine Tabellenansicht

Status
Nicht offen für weitere Antworten.

talen

Mitglied
Hallo zusammen,
Ich kriege es irgendwie nicht hin eine bestimmte JPQL Query zu erstellen. Ich habe eine Tabelle/Klasse MeasuringParameter und eine Tabelle/Klasse MeasuringValue.
MeasuringValue hat die Felder id(int), measuringParameter(MeasuringParameter), value(Double) und date(Date). MeasuringParameter hat die Felder id(int) und name(String).

MeasuringParameter sind Messparameter welche definiert sind. MeasuringValue enthält die Messwerte die zum jeweiligen Messparameter gehören. Nun will ich eine Query erstellen welche mir für einen bestimmten Zeitraum die Messwerte bestimmter Messparameter ausgibt. Die Ausgabe sollte folgendermassen aussehen:

Code:
Datum | Messparameter1 | Messparameter2 ...
01.01.2008 00:00 | 19.87 | 42.11 ...
01.01.2008 00:01 | 21.43 | 46.21 ...

Die Zeilen sollten angezeigt werden, sobald einer der Messparameter einen Eintrag darin hat. es kann durchaus sein, dass eine Zeile nur Daten von einem Messparameter hat, die anderen Spalten sollen dann NULL haben.

Ich habe mal ein bisschen herumprobiert, aber ich komm nicht weiter. Hier meine Testquery.

SQL:
select mv.date, mv8, mv1, mv21 from 
MeasuringValue mv, 
(select mvi8.value from MeasuringValue mvi8 where mvi8.date=mv.date and mvi8.measuringParameter.id=8) mv8, 
(select mvi1.value from MeasuringValue mvi1 where mvi1.date=mv.date and mvi1.measuringParameter.id=1) mv1, 
(select mvi21.value from MeasuringValue mvi21 where mvi21.date=mv.date and mvi21.measuringParameter.id=21) mv21 
where 
(mv.measuringParameter.id=8 or mv.measuringParameter.id=1 or mv.measuringParameter.id=21 ) 
and mv.date between :start and :end
order by mv.date asc

ps: Wenn man einen select auf die Klasse/Tabelle MeasuringValue macht und nach date und measuringparameter.id abfragt, kriegt man höchstens ein ergebnis.
 
Zuletzt bearbeitet von einem Moderator:

talen

Mitglied
Ich habe etwas weitergepröbelt. Es funktioniert jetzt solange beide Messparameter zu den selben Zeitpunkten Messdaten haben. Wenn ich jetzt aber einen Messparameter habe der alle Stunden einen Messwert holt, und einen anderen der alle halbe Stunde einen holt, geht die Query nicht. Dann werden nur die Stunden angezeigt. Beispiel: Messparameter A hat immer um xx.00 Uhr Daten und Messparameter B um xx.00 und xx.30. Die Ausgabe ist dann wie folgt:

Code:
Datum | A | B
01:00 | 20.01 | 30.12
02:00 | 21.21 | 30.34
Ich will aber, dass es so aussieht:
Code:
Datum | A | B
01:00 | 20.01 | 30.12
01:30 | NULL  | 31.01
02:00 | 21.21 | 30.34
02:30 | NULL  | 32.15
Hier meine aktuelle Version:

SQL:
SELECT 
 
mv.date, mv5.value, mv1.value 
 
FROM 
 
MeasuringValue mv, MeasuringValue mv5, MeasuringValue mv1 
 
WHERE 
 
(mv.measuringParameter.id=5 OR mv.measuringParameter.id=1 ) 
 
AND mv5.date BETWEEN :start AND :end 
AND mv5.measuringParameter.id=5 
AND mv5.date=mv.date 
 
AND mv1.date BETWEEN :start AND :end 
AND mv1.measuringParameter.id=1 
AND mv1.date=mv.date 
 
AND mv.date BETWEEN :start AND :end 
 
ORDER BY mv.date
 

talen

Mitglied
Ich habe nun eine Lösung mit einer Native SQL Query implementiert. Falls jemand darauf kommt, wie man das mit JPQL lösen könnte, bitte posten. Würde mich wunder nehmen.

Hier die Lösung:

SQL:
select 
mv.date, mv5.value, mv1.value 
from 
MeasuringValue mv 
left outer join 
(select * from MeasuringValue mvi5 where mvi5.measuringParameter_id=1) mv5 
on (
mv.date=mv5.date and 
mv5.measuringValueCalculation_id=mv.measuringValueCalculation_id and 
mv5.measuringValueStep_id=mv.measuringValueStep_id) 
left outer join 
(select * from MeasuringValue mvi1 where mvi1.measuringParameter_id=1) mv1 
on (
mv.date=mv1.date and 
mv1.measuringValueCalculation_id=mv.measuringValueCalculation_id and 
mv1.measuringValueStep_id=mv.measuringValueStep_id)  
where 
(mv.measuringParameter_id=5 or mv.measuringParameter_id=1) and 
mv.measuringValueCalculation_id=:measuringValueCalculationId and 
mv.measuringValueStep_id=:measuringValueStepId and 
mv.date between :start and :end 
order by mv.date asc
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D JPQL- Query über mehrere Tabellen Datenbankprogrammierung 7
G JPQL L*KE / JPA Query Language Datenbankprogrammierung 9
R JPQL und Navigation durch Collection Datenbankprogrammierung 1
M JPQL - Join Verkettung Datenbankprogrammierung 8
M Hibernate JPQL SELECT optional? Datenbankprogrammierung 2
A Jpql - order by sum ??? Datenbankprogrammierung 13
Y JPQL WHERE != Objekt Datenbankprogrammierung 10
S Alle Kunden mit ihren Adressen mit JPQL ausgeben Datenbankprogrammierung 2
Zrebna PostgreSQL-Query in eine MicrosoftSQL-Query konvertieren - chatGPT hilft nur bedingt. Datenbankprogrammierung 3
L JPA EclipseLink PostgreSQL auslesen mit Query Datenbankprogrammierung 2
T TRIM in Query Datenbankprogrammierung 3
D sql query in methode mit rückgabetyp Datenbankprogrammierung 14
OnDemand Mysql Query Builder Datenbankprogrammierung 1
P Herausfinden wann Query null zurück gibt? Datenbankprogrammierung 1
OnDemand SQL Query Optimierung Datenbankprogrammierung 28
Kirby.exe Verwirrung beim Query Datenbankprogrammierung 4
I Hibernate / JPA - Spaltenname von Query (Select) bekommen Datenbankprogrammierung 6
M Oracle Query umbauen (sind die Querys gleich?) Datenbankprogrammierung 5
B Frage bei einer SQL Query Datenbankprogrammierung 3
C Fehlerhafte SQL Query Datenbankprogrammierung 4
B MySQL Query (Anfängerfrage :D) Datenbankprogrammierung 3
B JPA / HQL Support bei Query - Distanzberechnung Datenbankprogrammierung 0
Thallius MySQL Was ist falsch an dem Query? Datenbankprogrammierung 2
Thallius MySQL Wo ist der Fehler in dem Query? Datenbankprogrammierung 2
OnDemand MySQL SQL Query Datenbankprogrammierung 2
X SQLite Erhalte bei Query INSERT INTO eine NullPointerException Datenbankprogrammierung 10
B Leerzeichen nach Umlaut -> Sichtbar erst nach Query! Datenbankprogrammierung 6
S sql query, um bestimten datensatz zu finden Datenbankprogrammierung 33
OnDemand SQL Query Anzahl der Werte Datenbankprogrammierung 8
H MySQL Anderer Query-Ansatz? Datenbankprogrammierung 4
P Tricky SQL Query Datenbankprogrammierung 3
P SQL Query Problem Datenbankprogrammierung 14
I Nullpointer bei einfacher Daba query Datenbankprogrammierung 12
I Query für Geburtstage Datenbankprogrammierung 6
S MYSQL: "Packet for query is too large" Datenbankprogrammierung 0
S HSQLDB PrepareStatement- Falsche query Datenbankprogrammierung 2
F Oracle The parameter name [...] in the query's selection criteria does not match any parameter name d Datenbankprogrammierung 2
J Fehler bei mySQL Query Datenbankprogrammierung 19
R MySQL berechnete Spalte im selben query weiterverwenden? Datenbankprogrammierung 4
S MySQL Hochkommata in Query Datenbankprogrammierung 7
M Problem beim Erstellen einer Query Datenbankprogrammierung 7
D SQL Update auf eine Query möglich? Datenbankprogrammierung 4
T HQL Query funktioniert nicht? Datenbankprogrammierung 8
M PostgreSQL Hibernate Query Restriction Datenbankprogrammierung 2
N Query für Derby DB mit Enterbrise Bean Datenbankprogrammierung 4
algebraiker Eclipse RCP - no persistent classes found for query class Datenbankprogrammierung 4
M List aus Hibernate Query Datenbankprogrammierung 5
M JPA-Query - nicht das komplette Objekt Datenbankprogrammierung 4
M Problem mit Hibernate und Named Query Datenbankprogrammierung 1
S DB2 Eclipselink Query Datenbankprogrammierung 2
LadyMilka Ergebnistyp HQL-Query Datenbankprogrammierung 3
M Frage zu folgender Query in EJB-QL Datenbankprogrammierung 4
Eldorado MySQL HQL Query Tag von Date Datenbankprogrammierung 6
H DB auslesen (Hibernate, Query, Parameter) Datenbankprogrammierung 8
C Split String für SQl query Datenbankprogrammierung 10
C setSelectedValue in SQL Query übergeben Datenbankprogrammierung 20
D Hibernate: Query verarbeiten Datenbankprogrammierung 11
B Hibernate, einfaches Query Ausgeben Datenbankprogrammierung 4
X Select Query auf Substring Datenbankprogrammierung 2
L Query grafisch erzeugen Datenbankprogrammierung 6
N SQL Query Browser Error Datenbankprogrammierung 6
B Suche Query um genau einen Wert einer def. Gruppe aus einer Tabelle zu erhalten. Datenbankprogrammierung 2
Chtonian Effizientes Query System für Wortnachschlagewerk Datenbankprogrammierung 9
D Hibernate, Criteria Query Datenbankprogrammierung 2
O SQL-Query bringt Fehler Datenbankprogrammierung 4
D kurze Frage zu einem Query Datenbankprogrammierung 6
S Query aus Querys Datenbankprogrammierung 14
P [Hibernate] Criterion-Query in HQL übersetzen Datenbankprogrammierung 10
D Neuer Query wird nicht erkannt Datenbankprogrammierung 10
E Wie koennte die SQL Query aussehen? Datenbankprogrammierung 13
B mysql query ausführen Datenbankprogrammierung 4
N Fehler beim matchen von Strings via Query Datenbankprogrammierung 2
G How to put SQL query result into a file Datenbankprogrammierung 3
B Ein Query mit Mysql erzeugen Datenbankprogrammierung 6
G Hilfe bei Query für Spaltenansicht. Datenbankprogrammierung 20
A Fehler bei query Datenbankprogrammierung 7
G SQL-Query Methode Datenbankprogrammierung 4
D Verknüpfung auflösen für Frontend Datenbankprogrammierung 7
R Beste Lösung für User Erstellung in mongodb Datenbankprogrammierung 1
I SaaS Applikation: pro Kunde eine Datenbank / Schema oder eine DB für alle Kunden? Datenbankprogrammierung 76
O apache derby in eclipse für Datenbanken einbauen Datenbankprogrammierung 3
Zrebna Empfehlung für ein kostenloses DB-Hosting gesucht Datenbankprogrammierung 6
M Lösungsvorschläge für Multi-User Datenbankprogrammierung 1
M Alle Records Felder kriegen für DB Abfrage Datenbankprogrammierung 14
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
Kirby.exe Denkanstoß für Ranking Datenbankprogrammierung 1
L Oracle Repräsentative Namen für die Column Types Datenbankprogrammierung 9
OnDemand Struktur für Parent / Child Produkt Datenbankprogrammierung 5
N ORM für Sqlite Datenbankprogrammierung 4
I Konzept: Klasse / Entity für Einstellung der Software Datenbankprogrammierung 3
H suche eine Login system Bibliothek für Java Datenbankprogrammierung 5
ruutaiokwu MySQL MariaDB-Client-Zertifkate, nur für einen bestimmten User Datenbankprogrammierung 5
B Datenmodell für Regeln + Bedingungen & Referenz auf andere Tabelle Datenbankprogrammierung 12
O Dokumentation für MariaDB 10.3. Datenbankprogrammierung 2
F MariaDatabase Einstellungen für Verbindungen Datenbankprogrammierung 5
Dimax MySQL Trigger für eine Spalte Datenbankprogrammierung 5
Dimax MySQL Maximale Datenlänge für eine Spalte einer Datenbank in java ermitteln Datenbankprogrammierung 15
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
B Brauche Tipps für Datenbankdesign Datenbankprogrammierung 8
B Tabelle für "wiederkehrende Rechnungen" Datenbankprogrammierung 12

Ähnliche Java Themen

Neue Themen


Oben