Andere Lösung für Group by??
Florian
- php
Hallo!
Ich habe folgende Aufgabe, die es zu lösen gilt (es gibt keine Probleme):
Ich habe ein PHP- Skript mit SQL- Statement erstellt, in dem ich Daten aus einer Oracle-DB in eine Tabelle schreibe.
Nun erscheinen alle Datensätze doppelt.
Meine Fragen:
a) Wieso erscheinen die Datensätze doppelt?
b) Wie kann ich das verhindern?
Ich möchte nach der MV.ID_SCHMELZE gruppieren. Ich weiß, daß es mit Group by nicht möglich ist. Vielleicht gibt es noch eine andere Lösung??
Gibt es da die Möglichkeit einer Abfrage(wenn ja,wie?)?
Hier ein Auszug aus meinem Quellcode:
$Connection=OCILogon($benutzer,$passwd,$database)or die("Es konnte kein Datenbank- Connect aufgebaut werden");
$VSql= ("SELECT
to_char(MV.DT_BEGINN_IST,'DD.MM.YY HH24:MI:SS') DT_BEGINN_IST
, MV.DT_ZUGABE_KP
, MV.T4_MAT_MOD
, V_ANALYSE_IST_021.S
,replace(to_char((ANALYSE_SOLL.S)/1,'999,990.999'),'.',',') ANALYSE_SOLL_S
,replace(to_char((V_ANALYSE_IST_001.S)/1,'999,990.999'),'.',',') V_ANALYSE_IST_001_S
, MV.GEW_ROHEISEN_ANMELDUNG
, MV.MV_S_SOLL
,replace(to_char((MV.MV_S_IST)/1,'999,990.999'),'.',',') MV_S_IST
, MV.ID_BEHANDLUNG
, MV.ID_SCHMELZE
, MV.ID_BEDIENER
, MV.ID_UMLAUF
, to_char(MV.DT_ENDE_IST,'DD.MM.YY HH24:MI:SS') DT_ENDE_IST
, MV.PFNR
, MV.BEZ_STAND
, MV.FAID
, MV.EAW
FROM
RISINT.V_GESAMTBERICHT_MV MV
, RISINT.ANALYSE_SOLL
, RISINT.V_ANALYSE_IST_02N
, RISINT.V_ANALYSE_IST_021
, RISINT.V_ANALYSE_IST_001
, RISINT.V_ANALYSE_IST_011
WHERE
MV.DT_BEGINN_IST>=to_date('$vdt_anfang $anfzeit','DD.MM.YY HH24:MI:SS')
AND
MV.DT_BEGINN_IST<to_date('$vdt_ende $endzeit','DD.MM.YY HH24:MI:SS')
ORDER BY MV.ID_SCHMELZE
, MV.ID_UMLAUF
, MV.DT_BEGINN_IST");
$Stmt= OCIParse($Connection,$VSql);
OCIExecute($Stmt);
while (OCIFetch($Stmt, ""))
{
Hi,
a) Wieso erscheinen die Datensätze doppelt?
Du selektierst aus einer Vielzahl von Tabellen, ohne Join-Bedingungen anzugeben. Für n Tabellen werden i.d.R. n-1 Bedingungen benötigt.
Cheatah
Hi,
a) Wieso erscheinen die Datensätze doppelt?
Du selektierst aus einer Vielzahl von Tabellen, ohne Join-Bedingungen anzugeben. Für n Tabellen werden i.d.R. n-1 Bedingungen benötigt.
Cheatah
Ich habe hier auch nur einen Auszug veröffentlicht. Die Join- Bedingungen stimmen alle, habe ich gecheckt.
Gruß
Florian
Hi,
Ich habe hier auch nur einen Auszug veröffentlicht.
das ist schlecht, weil man aus einem Auszug nur wenig erkennen kann. Die SELECT-Klausel kannst Du evtl. kürzen, der Rest sollte vorhanden sein.
Cheatah