Ich habe das gleiche Problem mit einer Access-Datenbank. Leider funktioniert dieser SQL-Select bei mir nicht.
Meine Voraussetzungen:
Access-Datenbank und Delphi 7 mit ADOQuery.
Tabelle "People"
PeopleID Name WebPage
1 Name 1 Page 1
2 Name 2 Page 2
3 Name 3 (NULL)
4 Name 4 Page 2
5 Name 5 Page 1
6 Name 6 Page 3
7 Name 7 (NULL)
8 Name 8 Page 4
Select alle Datensätze die eine identische WebPage haben, aber nicht NULL sind und gruppiere diese nach WebPage
gewünschtes Ergebnis:
PeopleID Name WebPage
1 Name 1 Page 1
5 Name 5 Page 1
2 Name 2 Page 2
4 Name 4 Page 2
Versuche:
1.
SQL-Anweisung
1: 2: 3: 4: 5:
| SELECT PeopleID, Name, WebPage FROM People WHERE (SELECT COUNT(B.WebPage) FROM People AS B WHERE B.WebPage= WebPage) > 1 ORDER BY WebPage |
2.
SQL-Anweisung
1: 2: 3: 4: 5:
| SELECT PeopleID, Name, WebPage FROM People T1, (SELECT COUNT(WebPage) AS ANZAHL FROM People GROUP BY WebPage, PeopleID, Name) T2 WHERE T2.ANZAHL > 1 AND T1.WebPage = T2.WebPage |
3.
SQL-Anweisung
1: 2: 3: 4: 5:
| SELECT PeopleID, Name, WebPage, COUNT(WebPage) AS Anzahl FROM People WHERE WebPage <> NULL AND Anzahl > 1 GROUP By WebPage, Name, PeopleID ORDER BY Anzahl DESC |
Irgendwie bekomme ich immer nur den Fehler "fehlender Standardwert".
Im Moment arbeite ich mit
SQL-Anweisung
1: 2: 3:
| SELECT PeopleID, Name, WebPage, Web_ID FROM People ORDER BY WebPage |
und vergleiche die Werte für WebPage in einer Schleife.
Vielen Dank schon mal für die Hilfe!
JDommi