webForumDet fria alternativet

tre tabeller varav två är lika

Databaser & SQL

3 svar · 281 visningar · startad av daniel_ra

Medlem sedan jan. 2002381 inlägg
Frågan#1

Jag har tre tabeller varav två har exakt samma struktur.

tabell1 och tabell2 innehåller personuppgifter såsom personnummer namnoch adresser. tabell3 innehåller personnummer och en massa andra saker. Det jag vill göra är att skriva ut personuppgifter för folk som finns med i tabell3. Det jag dock inte vet är om deras personupgifter finns i tabell1 eller tabell2. personuppgifter kan inte finnas i både tabell1 och tabell2 utan bara den ena. hur jag än försöker så lyckas jag inte med urvalet. jag tänkte att jag kunde göra wheresatsen som nedan:

select tabell1.namn,
tabell1.adress,
tabell2.namn,
tabell2.adress,
tabell3.*

frpom tabell1,tabell2,tabell3

where tabell1.personnummer=tabell3.personnummer or
tabell2.personnummer=tabell3.personnummer

denna princip verkar dock inte fungera.. känner mig helt plötsligt helt kass på sql =(

Medlem sedan dec. 200012 464 inlägg
#2
select tabell1.namn,
tabell1.adress,
tabell3.*
from tabell1 join tabell3 on tabell1.pnr = tabell3.pnr
union all
select tabell2.namn,
tabell2.adress,
tabell3.*
from tabell2 join tabell3 on tabell2.pnr = tabell3.pnr
Medlem sedan jan. 2002381 inlägg
#3

jag vill ha en count(*) med i varje select och sedan gruppera på

left(namn,3) as initial

detta är access för övrigt typ

select tabell1.namn,
tabell1.adress,
tabell3.*,
count(*) as antal
from tabell1 join tabell3 on tabell1.pnr = tabell3.pnr
union all
select tabell2.namn,
tabell2.adress,
tabell3.*,
count(*) as antal
from tabell2 join tabell3 on tabell2.pnr = tabell3.pnr

group by ????
order by

Medlem sedan dec. 200012 464 inlägg
#4

vad vill du räkna? Ge exempel på datainnehåll och förväntat resultat.

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)