devotionMedlem sedan jan. 20013 582 inlägg Hej!
Om jag har två stycken tabeller i access som ser ut som nedan:
tbl1
testId
testname1
testnumber1
tbl2
testId
testname2
testnumber2
Sedan vill jag hämta data från båda tabellerna genom att ställa en sql fråga som ser ut ungefär så här :
SELECT * FROM tbl1, tbl2 WHERE tbl1.testId = tbl2.testId ORDER BY testId
Då hämtas ju alla data från de båda tabellerna där vilkoret uppfylls.
MEN!
Vad händer om tbl1 har fler värden i kolumnen testId som inte tbl2 har eller vice versa?
Jag inser ju att det kommer bli ett felmeddelande typ EOF eller liknande.
Hur kan man göra för att i resultatet få följande:
Namn1 - Namn2
Pelle - Saknas
Olle - Kalle
Saknas - Sven
Hoppas ni förstår
LarsGMedlem sedan dec. 200012 464 inlägg SELECT testid,
testname1,
'Saknas'
FROM tbl1
where testid not in (select testid from tbl2)
union all
select tbl1.testid,
testname1,
testname2
from tbl1,tbl2
where tb1.testid = tbl2.testid
union all
select testid,
'Saknas',
testname2
from tbl2
where testid not in (select testid from tbl1)
order by testid
Flyttas från ASP
devotionMedlem sedan jan. 20013 582 inlägg Hej! :r
Kände på mig att denna tråden skulle flyttas....
Tack för svaret i a f LarsG
Skulle du inte kunna förklara lite vad du gör i SQL-frågan???
Mvh
LarsGMedlem sedan dec. 200012 464 inlägg Det är tre frågor vars resultat sammanfogas med hjälp av union all. Den första select-frågan returnerar de namn som finns i tbl1 men inte i tbl2, den andra returnerar de som finns i båda tabellerna och den sista de som enbart finns i tbl2.