Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQL Count (https://www.delphipraxis.net/171706-sql-count.html)

API 21. Nov 2012 06:13

Datenbank: SQL Server • Version: 2008 • Zugriff über: SQL Mgmt. Studio

SQL Count
 
Hallo

Es gibt eine Tabelle mit X Feldern (Feld1, Feld2, Feld3, usw.)
Möchte nun in jedem Datensatz in zusätzlichen Spalten ausgeben, wie viele andere Datensätze im gleichen Feld denselben Wert enthalten.

Tabelle:
Code:
Feld1, Feld2, Feld3
a      b      c
c      f      a
d      b      c
a      f      c
Ausgabe:

Code:
Feld1, Feld2, Feld3, Feld1_Count, Feld2_Count, Feld3_Count
a      b      c      2            2            3
c      f      a      1            2            1
d      b      c      1            2            3
a      f      c      2            2            3
Beim 1. Datensatz wird in Feld Feld1_Count die 2 geschrieben, da "a" Total 2 Mail vorkommt in Spalte Feld1 usw.

Kann man das irgendwie mit SQL lösen?

Danke, API

angos 21. Nov 2012 07:52

AW: SQL Count
 
Möglicherweise so (ungetestet):

Code:
SELECT
  feld1, feld2, feld3, f1_count.c, f2_count.c, f3_count.c
FROM tab

LEFT OUTER JOIN (
  SELECT feld1, COUNT(*) AS c
  FROM tab
  GROUP BY feld1
) AS f1_count ON (tab.feld1 = f1_count.feld1)

LEFT OUTER JOIN (
  SELECT feld2, COUNT(*) AS c
  FROM tab
  GROUP BY feld2
) AS f2_count ON (tab.feld2 = f1_count.feld2)

LEFT OUTER JOIN (
  SELECT feld3, COUNT(*) AS c
  FROM tab
  GROUP BY feld3
) AS f3_count ON (tab.feld1 = f1_count.feld3)

Furtbichler 21. Nov 2012 08:00

AW: SQL Count
 
Code:
select *,
  (select count(*) from Tabelle x where x.Feld1=Tabelle.Feld1) as Feld1_Count,
  (select count(*) from Tabelle x where x.Feld2=Tabelle.Feld2) as Feld2_Count,
  (select count(*) from Tabelle x where x.Feld3=Tabelle.Feld3) as Feld3_Count
from Tabelle


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 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