Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Oracle: Subselect mit count in Select mit Count

Empfohlene Antworten

Guten Morgen zusammen,

ich habe das Problem, das ich mehrere Datenselektionen (Oracle 8i) in einer Abfrage zusammenfassen will. Beispiel ich will einen Lagerbestand mit einer Wareneingangsmenge anzeigen lassen. Dazu mache ich erst die Selektion für den Lagerbestand und darin als Subselect die Menge des Wareneingangs.

---------------------------------------------------

select lwi.Datum ,sum(Menge),

(SELECT count(*) from (SELECT * From WE E where e.Datum=lwi.Datum) TEST_WE

from Daten lwi

where lwi.datum = '2008-08-21'

group by lwi.datum,(SELECT count(*) from (SELECT * From WE E where Datum=lwi.Datum)

----------------------------------------------------

Nun gibt er mir aber eine Fehlermeldung aus, das ich kein Group by Ausdruck für "count(*)" angegeben habe. Leider weis ich hierbei nicht weiter.

Gibt es noch Hilfe :)

BIG THX

Christian

Hi!

Also ich würd das so machen:

select lwi.Datum ,

sum(Menge),

count(*) from (SELECT * From WE E where e.Datum=lwi.Datum) as TEST_WE

from Daten lwi

where lwi.datum = '2008-08-21'

group by lwi.datum

allerdings ohne Garantie ;)

Gruß

chill3r

Danke für die schnelle Antwort, aber leider funktioniert dies auch nicht.

"Befehl wurde nicht korrekte beendet"

Versuche mich gerade an "union" aber so ganz steige ich da noch nicht durch!

Oh jo, mein Fehler ;)

select lwi.Datum ,

sum(Menge),

count(E.*) as TEST_WE_COUNT

from Daten lwi,

WE E

where lwi.datum = E.datum

and lwi.datum = '2008-08-21'

group by lwi.datum

Datumswerte immer mit to_date angeben, ansonsten wird die Ländereinstellung des Clients verwendet, was nicht immer zu dem gewünschten Ergebnis führt.

and lwi.datum = to_date('2008-08-21','YYYY-MM-DD')

Des weiteren enthält ein Datumswert in Oracle auch immer einen Zeitwert. Ist also im Datumswert auch ein Zweitwert ungleich 0:00:00 Uhr angegeben, so muss man auch diesen angeben oder den Wert vorher entsprechend umformatieren.

Dim

Leider auch nicht...

"Ungültige Angabe von Benutzer.Tabelle.Spalte,Tabelle.Spalte oder Spalte"

Nette Fehlermeldung :)

@dr.dimitri

Danke für den Hinweis, die Uhrzeit schneide ich mit trunc weg. To_Date werd ich einfügen, sobald die Selektion funktioniert.

Leider negative!

Hey hab es hinbekommen...

select Datum, Kunde,we.WE_Pal, sum(lwi.Menge)

from Test lwi, Firma f, (SELECT TO_CHAR(trunc(d.Datum),'YYYY-MM-DD') as Datum, f2.name as Kunde,count(dlu.Anzahl)as WE_Pal from Test2 DLU, Firma f2 where dlu.Firm_ID=f2.firm_id group by TO_CHAR(trunc(dlu.Datum),'YYYY-MM-DD') ,f2.name) WE

where f.firm_id=lwi.firm_id and lwi.Datum = '2008-08-21' and we.datum=lwi.Datum and we.Kunde=f.name

group by Datum, Kudne,we.WE_Pal

Irgentwie doch einfach, wenn man es einmalgeschafft hat!

Besten dank für die Hilfe!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.