Pro inspiraci jeden z mých běžných dotazů (plně funkční!):
SELECT NI.CisloRozhodnuti, NI.IDosoba, MIN(NI.Podil) AS Podil, MIN(NI.UPcislo) AS UPcislo,
SUM(ISNULL(Z1.Kc, 0) + ISNULL(Z2.Kc, 0) + ISNULL(Z3.Kc, 0) + ISNULL(Z4.Kc, 0) + ISNULL(Z5.Kc, 0) + ISNULL(Z6.Kc, 0) - isnull (Z7.Kc, 0)) AS Celkem
FROM (
SELECT min (N.Par) as Par, N.CisloRozhodnuti, I.IDosoba, SUM(I.Pomer1 * N.Hodnota / I.Pomer2) AS Podil, MIN(N .UPcislo) AS UPcislo
FROM NarPozemky_N N INNER JOIN IDOOPOZ I ON N.CisloRozhodnuti = I.CisloRozhodnuti AND N.CisloPozemku = I.CisloPozemku AND N .UPcislo = I.UPcislo
WHERE ' + PutUpCislo ('N', true) + ' AND (N .Par = ' + IntToStr (SrPar) + ') AND (I.Pomer2 <> 0)
GROUP BY N.CisloRozhodnuti, I.IDosoba
) NI
LEFT OUTER JOIN
(SELECT IDOsoba, CisloRozhodnuti, UPcislo, Par, SUM(Kc) AS Kc FROM Blok11Zdroj GROUP BY IDOsoba, CisloRozhodnuti, UPcislo, Par) Z1
ON NI.CisloRozhodnuti = Z1.CisloRozhodnuti AND NI.IDosoba = Z1.IDOsoba AND NI.UPcislo = Z1.UPcislo and NI.Par = Z1.Par
LEFT OUTER JOIN
(SELECT IDOsoba, CisloRozhodnuti, UPcislo, Par, SUM(Kc) AS Kc FROM LesyZdroj GROUP BY IDOsoba, CisloRozhodnuti, UPcislo, Par) Z2
ON NI.CisloRozhodnuti = Z2.CisloRozhodnuti AND NI.IDosoba = Z2.IDOsoba AND NI.UPcislo = Z2.UPcislo and NI.Par = Z2.Par
LEFT OUTER JOIN
(SELECT IDOsoba, CisloRozhodnuti, UPcislo, Par, SUM(Kc) AS Kc FROM MZEZdroj GROUP BY IDOsoba, CisloRozhodnuti, UPcislo, Par) Z3
ON NI.CisloRozhodnuti = Z3.CisloRozhodnuti AND NI.IDosoba = Z3.IDOsoba AND NI.UPcislo = Z3.UPcislo and NI.Par = Z3.Par
LEFT OUTER JOIN
(SELECT IDOsoba, CisloRozhodnuti, UPcislo, SUM(Kc) AS Kc FROM Vec11Zdroj GROUP BY IDOsoba, CisloRozhodnuti, UPcislo) Z4
ON NI.CisloRozhodnuti = Z4.CisloRozhodnuti AND NI.IDosoba = Z4.IDOsoba AND NI.UPcislo = Z4.UPcislo
LEFT OUTER JOIN
(SELECT IDOsoba, CisloRozhodnuti, UPcislo, SUM(Kc) AS Kc FROM Zap11Zdroj GROUP BY IDOsoba, CisloRozhodnuti, UPcislo) Z5
ON NI.CisloRozhodnuti = Z5.CisloRozhodnuti AND NI.IDosoba = Z5.IDosoba AND NI.UPcislo = Z5.UPcislo
LEFT OUTER JOIN
(SELECT IDOsoba, CisloRozhodnuti, UPcislo, SUM(Kc) AS Kc FROM ChybPln11Zdroj GROUP BY IDOsoba, CisloRozhodnuti, UPcislo) Z6
ON NI.CisloRozhodnuti = Z6.CisloRozhodnuti AND NI.IDosoba = Z6.IDOsoba AND NI.UPcislo = Z6.UPcislo
left outer join
(SELECT MIN(PZ.UPcislo) AS UPcislo, A.IDOsoba, PZ.CisloRozhodnuti, SUM(PZ.Kc) AS Kc
FROM Post11Zdroj PZ
INNER JOIN Post11 P ON PZ.UPcislo = P.UPcislo AND PZ.IDPrevod = P.IDPrevod AND PZ.IDosoba = P.IDosoba
INNER JOIN ADRESAR A ON PZ.UPcislo = A.UPcislo AND P.KlientID_Prev = A.KlientID
GROUP BY A.IDOsoba, PZ.CisloRozhodnuti) Z7
on NI.CisloRozhodnuti = Z7.CisloRozhodnuti AND NI.IDosoba = Z7.IDOsoba AND NI.UPcislo = Z7.UPcislo
'GROUP BY NI.CisloRozhodnuti, NI.IDosoba
HAVING (SUM(ISNULL(Z1.Kc, 0) + ISNULL(Z2.Kc, 0) + ISNULL(Z3.Kc, 0) + ISNULL(Z4.Kc, 0) + ISNULL(Z5.Kc, 0) + ISNULL(Z6.Kc, 0) - isnull (Z7.Kc, 0)) > MIN(NI.Podil) + 0.99)