Just nu i M3-nätverket
Jump to content

två tabeller


Cechise

Recommended Posts

Jag har en enkel fråga:

 

Om man har två tabeller i en databas (t1, t2) hur skriver man då för att i en SQL fråga räkna alla poster i t1 och alla poster i t2, var för sig.

Link to comment
Share on other sites

Tex:

 

select (select count(*) from t1),(select count(*) from t2)

 

 

Eller om du vill ha det som två poster:

 

select count(*) from t1

union

select count(*) from t2

 

 

 

[inlägget ändrat 2002-09-05 08:50:05 av Mr Andersson]

Link to comment
Share on other sites

Jo de går ju, men finns det inget sätt så man kan få svaren på en post i två kolumner? så man kan anropa:

 

stats("antalT1")

stats("antalT2")

 

den sorterar nedåtstigande hela tiden också, vilket skapar problem när det kan variera vilken av T1 eller T2 som är störst. Blir ju svårt å skilja dem åt då om man inte vet om det är första eller andra posten

[inlägget ändrat 2002-09-07 01:26:08 av Cechise]

Link to comment
Share on other sites

Mitt första exempel ger svaret i två kolumner. Vill du ge kolumnerna namn, så kan du modifiera det :

 

select (select count(*) from t1) as 'AntalT1',(select count(*) from t2) as 'AntalT2'

 

 

Link to comment
Share on other sites

Jag försökte med den också men jag kunde inte få det att funka. Om jag kör det på servern får jag följande:

 

Error Type:

Microsoft JET Database Engine (0x80004005)

Unspecified error

 

Jag provade också köra frågan direkt i Access men då returneras detta nedslående resultat:

 

Reserved error (-3025); There is no message for this error.

 

som glad amatör står jag handfallen.

 

 

Link to comment
Share on other sites

Felet beror nog på att du inte har med någon

 

from tabellnamn

 

i din yttre fråga.

 

Du kan ju använda union-frågan lite modifierad

 

select count(*),'t1' from t1

union

select count(*),'t2' from t2

 

så kan du skilja på vilket värde som tillhör vilken tabell.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...