![]() |
Datenbank: MSSQL • Version: ADO • Zugriff über: 2012
Anzahl der Datensatze count(*)
wie lautet das SQL Statement
um aus obiger Tabelle für alle Namen die Anzahl der Records auszugeben bei denen dieser Name entweder im Feld A .... Feld C steht also
|
AW: Anzahl der Datensatze count(*)
So müsste es gehen:
Code:
SELECT name, COUNT(*) FROM table1 WHERE (name = FeldA) or (name = FeldB) or (name = FeldC) GROUP BY name;
|
AW: Anzahl der Datensatze count(*)
Zitat:
|
AW: Anzahl der Datensatze count(*)
So sollte es gehen (eventuell noch suboptimal):
SQL-Code:
SELECT a.Name, SUM(a.cnt)
FROM ( SELECT Name, Count(*) as cnt FROM table1 WHERE name in (FeldA, FeldB, FeldC) GROUP BY Name UNION SELECT Name, 0 as cnt FROM table_1 WHERE (FeldA is null or name <> FeldA) and (FeldB is null or name <> FeldB) and (FeldC is null or name <> FeldC) GROUP BY Name) a GROUP BY a.Name |
AW: Anzahl der Datensatze count(*)
Zitat:
Hier mal ein Versuch NACH dem ersten Kaffee mit einem Subselect:
Code:
SELECT DISTINCT t1.name,
(SELECT COUNT(*) FROM table1 WHERE table1.name = t1.name AND (table1.name in (table1.FeldA, table1.FeldB, table1.FeldC))) AS cnt FROM table1 AS t1 |
AW: Anzahl der Datensatze count(*)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 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