![]() |
AW: SQL Abfrage mit Count
Wenn es also eine N zu 1 Beziehung ist, dann könnte es so funktionieren:
SQL-Code:
Frank
select
SNr.SNrArtNr , ArtMenge.ArtBestand , count(SNr.SNrArtNr) as Gesamt from SNr inner join ArtMenge on SNr.SNrArtNr = ArtMenge.ArtMengeNr where SNr.SNrStatus = true group by SNr.SNrArtNr , ArtMenge.ArtBestand having ArtMenge.ArtBestand <> count(SNr.SNrArtNr) |
AW: SQL Abfrage mit Count
SQL-Code:
Der Alias Gesamt ist innerhalb des Selects noch nicht bekannt, man kann erst in einem darüberliegenden Select darauf zugreifen.
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;
SQL-Code:
Eventuell könnte auch sowas funktionieren (wird von jeder Datenbank etwas anders gehandhabt):
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;
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 |
AW: SQL Abfrage mit Count
SUUUPER!!! Das Script von Frank DataSpider hat genau das Ergebnis wie gewünscht gebracht:
SNrArtNr | ArtBestand | Gesamt --------------------------------------------------- 1041200 | 1 | 2 Das Script von Delphinarium bringt leider den Fehler: "Mit '*' ausgewählte Felder können nicht gruppiert werden" Ich danke euch allen für eure schnelle Hilfe! Besonders Frank hat heute die funktionierende Lösung gezeigt. :thumb: LG Euer Harry P.S. Super Forum hier :-D |
AW: SQL Abfrage mit Count
Ich fand den letzten Post von Uwe sehr gut. Hat er nicht funktioniert?
Zitat:
(Bei MySQL ist das nicht der Fall und führt nicht zu einem Fehler. Das Verhalten in dem Fall ist aber zufällig und absolut nicht intuitiv. Ich würde aber MySQL auch nicht als sinnvolles DBMS bezeichnen.) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz