Just check out if below gives some guidelines :
The table :
mytable
Col1
Col2
Col3
Col4
The sub-queries :
qryDistinctCol2
Code:
SELECT DISTINCT
myTable.Col2
FROM
myTable
ORDER BY
myTable.Col2;
qryDistinctCol3
Code:
SELECT DISTINCT
myTable.Col3
FROM
myTable
ORDER BY
myTable.Col3;
qryMinCol1SumCol4
Code:
SELECT
Min(myTable.Col1) AS MinOfCol1,
myTable.Col2,
myTable.Col3,
Sum(myTable.Col4) AS SumOfCol4
FROM
myTable
GROUP BY
myTable.Col2, myTable.Col3
ORDER BY
myTable.Col2, myTable.Col3;
qryDistinctCol2Col3
Code:
SELECT
qryDistinctCol2.Col2,
qryDistinctCol3.Col3
FROM
qryDistinctCol2,
qryDistinctCol3
ORDER BY
qryDistinctCol2.Col2, qryDistinctCol3.Col3;
qryMinColNoForSingleCol3
Code:
SELECT
Min(qryMinCol1SumCol4.MinOfCol1) AS MinOfMinOfCol1,
qryMinCol1SumCol4.Col2
FROM
qryMinCol1SumCol4
GROUP BY
qryMinCol1SumCol4.Col2
HAVING
(((Count(qryMinCol1SumCol4.Col3))<2));
qryAllCol1Col2MinCol1SunCol4
Code:
SELECT
qryDistinctCol2Col3.Col2,
qryDistinctCol2Col3.Col3,
qryMinCol1SumCol4.MinOfCol1,
NZ([SumOfCol4],0) AS MaxSumOfCol4
FROM
qryDistinctCol2Col3
LEFT JOIN
qryMinCol1SumCol4
ON
(qryDistinctCol2Col3.Col2 = qryMinCol1SumCol4.Col2) AND (qryDistinctCol2Col3.Col3 = qryMinCol1SumCol4.Col3)
ORDER BY
qryDistinctCol2Col3.Col2, qryDistinctCol2Col3.Col3;
The final query to be run :
qryFinal
Code:
SELECT
NZ([MinOfCol1],[MinOfMinOfCol1]) AS Col1No,
qryAllCol1Col2MinCol1SunCol4.Col2,
qryAllCol1Col2MinCol1SunCol4.Col3,
qryAllCol1Col2MinCol1SunCol4.MaxSumOfCol4,
qryMinColNoForSingleCol3.Col2,
qryMinColNoForSingleCol3.MinOfMinOfCol1
FROM
qryAllCol1Col2MinCol1SunCol4
LEFT JOIN
qryMinColNoForSingleCol3
ON
qryAllCol1Col2MinCol1SunCol4.Col2 = qryMinColNoForSingleCol3.Col2
ORDER BY
qryAllCol1Col2MinCol1SunCol4.Col2, qryAllCol1Col2MinCol1SunCol4.Col3;
Perhaps if we had another table (with distinct Col2 & Col3 values), things could have been easier:
tblCol2Col3
Code:
ID | Col2 | Col3
1 | ABC | C
2 | ABC | E
3 | PQR | C
4 | PQR | E
5 | XYZ | C
6 | XYZ | E
Thanks