Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.431 Beiträge
 
Delphi 7 Professional
 
#12

AW: SQL Abfrage mit Count

  Alt 26. Apr 2022, 13:19
SQL-Code:
select SNr.SNrArtNr, count(SNr.SNrArtNr) as Gesamt
from SNr
inner join ArtMenge on SNr.SNrArtNr = ArtMenge.ArtMengeNr
where SNr.SNrStatus = true and ArtMenge.ArtBestand <> count(SNr.SNrArtNr) /* den Alias Gesamt kann man hier nicht verwenden */
group by SNr.SNrArtNr;
Der Alias Gesamt ist innerhalb des Selects noch nicht bekannt, man kann erst in einem darüberliegenden Select darauf zugreifen.
SQL-Code:
select * from (
  select SNr.SNrArtNr, count(SNr.SNrArtNr) as Gesamt
  from SNr
  inner join ArtMenge on SNr.SNrArtNr = ArtMenge.ArtMengeNr
  where SNr.SNrStatus = true and ArtMenge.ArtBestand <> count(SNr.SNrArtNr)
  group by SNr.SNrArtNr
)
where Gesamt > 12345;
Eventuell könnte auch sowas funktionieren (wird von jeder Datenbank etwas anders gehandhabt):
SQL-Code:
select A.SNrArtNr, ArtMenge.ArtBestand, A.Gesamt from (
  select SNr.SNrArtNr, count(SNr.SNrArtNr) as Gesamt from SNr where SNr.SNrStatus = true
) A
inner join ArtMenge on A.SNrArtNr = ArtMenge.ArtMengeNr
where ArtMenge.ArtBestand <> A.Gesamt
group by A.SNrArtNr, ArtMenge.ArtBestand

Geändert von Delphi.Narium (26. Apr 2022 um 14:24 Uhr) Grund: Fehler bei Gruppierung behoben.
  Mit Zitat antworten Zitat