# Access Count einer Union Abfrage



## tinopolis (19. April 2006)

Hallo alle zusammen,

wie bekomme ich die Anzahl der aus dieser SQL-Abfrage enstehenden Tabelle ?


```
(SELECT P.* FROM Profildaten AS P WHERE P.Spannlage = 0 OR P.nDXFLage = 0) 
  UNION (SELECT P.* FROM Profildaten AS P 
    INNER JOIN PBL_Hauptspannlagen_LR AS S 
      ON P.Spannlage = S.Spannlage AND P.Art_Nr = S.Art_Nr);
```


----------



## ninguno (19. April 2006)

```
select count(*) from (
  (SELECT P.* FROM Profildaten AS P WHERE P.Spannlage = 0 OR P.nDXFLage = 0) 
    UNION (SELECT P.* FROM Profildaten AS P 
    INNER JOIN PBL_Hauptspannlagen_LR AS S 
      ON P.Spannlage = S.Spannlage AND P.Art_Nr = S.Art_Nr)
);
```


----------



## sirvival (19. April 2006)

müsste theoretisch auch so gehen


```
SELECT COUNT(P.ID) 
FROM Profildaten AS P 
INNER JOIN PBL_Hauptspannlagen_LR AS S ON P.Art_Nr = S.Art_Nr
WHERE P.Spannlage = S.Spannlage
AND (P.Spannlage = 0 OR P.nDXFLage = 0)
```


----------



## tinopolis (19. April 2006)

Funktioniert leider nicht.

"Syntaxfehler in JOIN-Operation" sagt mein Access 2000.


----------



## tinopolis (19. April 2006)

Danke survival,

aber das funtioniert auch nicht. Ergebnis 294 sollte aber ca. 4500 sein.


----------



## tinopolis (19. April 2006)

Kann nicht funktionieren, weil die erste Abfrage sich auf die ganze Tabelle "Profildaten" bezieht und nicht auf den INNER JOIN.


----------



## tinopolis (19. April 2006)

Danke,

funktioniert aber so :


```
SELECT COUNT(*)
FROM Profildaten AS P LEFT JOIN PBL_Hauptspannlagen_LR AS S ON P.Art_Nr = S.Art_Nr
WHERE P.Spannlage = S.Spannlage
OR (P.Spannlage = 0 OR P.nDXFLage = 0);
```


----------



## sirvival (19. April 2006)

naja bis auf da AND im WHERE Clause


----------



## tinopolis (21. April 2006)

Und den LEFT statt den INNER JOIN.

Trotzdem Vielen Dank.


----------

