Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.418 Beiträge
 
Delphi 7 Professional
 
#4

AW: Sub-Select im Haupt-Select: lässt sich dann "group by" anwenden?

  Alt 8. Jul 2020, 13:13
SQL-Code:
select Max(TOTAL_STD) as TOTAL_STD, Person, Datum
from
(
  SELECT
     BN.TOTAL_STD,
     (SELECT
           CA.NAME + ', ' + CA.VORNAME + ' (' + LTRIM(PERSNR) + ')'
        FROM PERSONALSTAMM CA
        WHERE
           CA.IDENTIFIKATION = BN.PERSREC_ID)
     AS Person,
     BN.DATUM
  FROM ZEITRUECKMELDUNGEN BN
) x
GROUP BY Person,
         Datum
ORDER BY 2, 3
SQL-Code:
SELECT
   MAX(BN.TOTAL_STD),
   (SELECT
         CA.NAME + ', ' + CA.VORNAME + ' (' + LTRIM(PERSNR) + ')'
      FROM PERSONALSTAMM CA
      WHERE
         CA.IDENTIFIKATION = BN.PERSREC_ID)
   AS Person,
   BN.DATUM
FROM ZEITRUECKMELDUNGEN BN
GROUP BY CA.NAME + ', ' + CA.VORNAME + ' (' + LTRIM(PERSNR) + ')',
         BN.DATUM
ORDER BY 2, 3
SQL-Code:
SELECT
   MAX(BN.TOTAL_STD),
   CA.NAME + ', ' + CA.VORNAME + ' (' + LTRIM(PERSNR) + ')AS Person,
   BN.DATUM
FROM ZEITRUECKMELDUNGEN BN,
     PERSONALSTAMM CA
WHERE CA.IDENTIFIKATION = BN.PERSREC_ID
GROUP BY CA.NAME + ', ' + CA.VORNAME + ' (' + LTRIM(PERSNR) + ')',
         BN.DATUM
ORDER BY 2, 3
SQL-Code:
SELECT
   MAX(BN.TOTAL_STD),
   CA.NAME + ', ' + CA.VORNAME + ' (' + LTRIM(PERSNR) + ')AS Person,
   BN.DATUM
FROM ZEITRUECKMELDUNGEN BN
inner join PERSONALSTAMM CA on CA.IDENTIFIKATION = BN.PERSREC_ID
GROUP BY CA.NAME + ', ' + CA.VORNAME + ' (' + LTRIM(PERSNR) + ')',
         BN.DATUM
ORDER BY 2, 3
Es gibt bestimmt noch weitere Varianten.

Geändert von Delphi.Narium ( 8. Jul 2020 um 13:31 Uhr) Grund: Fehler im Group by behoben (siehe Post Uwe weiter unten)
  Mit Zitat antworten Zitat