2016-10-25 3 views
0

Ich habe eine Tabelle 1Access SQL groupby

pbsc qty wt 

pbsc1 1 0 
pbsc2 2 10 
pbsc3 1 0 
pbsc2 2 9  
pbsc1 0 8 
pbsc4 9 9 

Ich versuche 2 Ergebnisse Sätze zu erhalten (2 Abfrage Tabellen) aus Tabelle 1

Sum up Menge und wt wenn PBSC hat ähnliche Daten, dass Abfrage i verwendet

SELECT Table1.pbsc, sum(Table1.qty) As quantity , sum(Table1.wt) As 
> Weight 
>  FROM Table1 group by Table1.pbsc; 

das gibt mir

pbsc quantity Weight 
pbsc1 1    8 
pbsc2 4   19 
pbsc3 1    0 
pbsc4 9    9 

Aber ich versuche nur pbsc1, pbsc2 als ein Ergebnis gesetzt zu bekommen, da sie mehr als einmal in einer Tabelle 1 auftreten, wie result1

pbsc qty wt 
    pbsc1  1  8 
    pbsc2  4  19 

result2 sollte sein wie (seit pbsc3, pbsc4 nur einmal vorkommen)

pbsc qty wt 
    pbsc3 1 0 
    pbsc4 9 9 

Antwort

1

--Mehr als ein p BSC.

SELECT Table1.pbsc, 
     sum(Table1.qty) As quantity , 
     sum(Table1.wt) As Weight 
    FROM Table1 
group by Table1.pbsc 
having count(*) > 1; 

- Nur ein Datensatz für pbsc.

SELECT Table1.pbsc, 
     sum(Table1.qty) As quantity , 
     sum(Table1.wt) As Weight 
    FROM Table1 
group by Table1.pbsc 
having count(*) = 1; 
0
SELECT Table1.pbsc, 
     SUM(Table1.qty) AS Quantity, 
     SUM(Table1.wt) AS Weight 
FROM Table1 
WHERE Table1.pbsc IN (psc1, pbsc2) 
GROUP BY Table1.pbsc 

SELECT Table1.pbsc, 
     SUM(Table1.qty) AS quantity, 
     SUM(Table1.wt) AS Weight 
FROM Table1 
WHERE Table1.pbsc IN (psc3, pbsc4) 
GROUP BY Table1.pbsc