---
title: "Problem med SQL Union"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10947-problem-med-sql-union"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Pace"
published: "2001-08-03T13:25:00.000Z"
updated: "2001-08-06T16:42:00.000Z"
replies: 22
views: 369
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/10947-problem-med-sql-union"
---

# Problem med SQL Union

_Sida 1 av 2._

## #1 — Pace, 2001-08-03T13:25Z

```
"SELECT t_status FROM topics WHERE topic_id=81 UNION SELECT f_name FROM forum WHERE forum_id=22"
```

Hur ska man göra för att få detta att funka? (tabellerna har ingen relationer här)

Permalänk: https://www.webforum.nu/p/10947

## #2 — Koplik, 2001-08-03T13:29Z

Det enda jag kommer på är att det borde vara samma datatyp på kolumnen i recordset:et du drar ihop...

Om det är det... 
då vet jag inte... :q

Permalänk: https://www.webforum.nu/p/279715

## #3 — Pace, 2001-08-03T13:31Z

Nej, men det måste de väl inte vara väl?

```
t_status = yes/no
topic_id = num
f_name = text
forum_id= = num
```

Permalänk: https://www.webforum.nu/p/279716

## #4 — LarsG, 2001-08-03T13:37Z

Jo, det skall vara samma antal kolumner i select-listorna och det skall vara jämförbara typer dvs t_status och f_name.

I och för sig så brukar inte Jet vara så noga med sådant. vad är problemet? Får du något felmeddelande eller vad?

Permalänk: https://www.webforum.nu/p/279717

## #5 — Koplik, 2001-08-03T13:39Z

Hmmm...
Du har rätt...
Jag gjorde en test för säkerhetsskull...
Men det fungerade...

Det finns ingen anledning till att det inte ska fungera...
Får du något felmeddelande?

Permalänk: https://www.webforum.nu/p/279718

## #6 — Pace, 2001-08-03T13:43Z

"Den" kan inte hitta recordsetet (f_name):

```
Item cannot be found in the collection corresponding to the requested name or ordinal.
```

\[r\] Det enda jag vill göra är att ta ut två recordset ur två tabeller... de har inget med varandra att göra.

Permalänk: https://www.webforum.nu/p/279719

## #7 — Koplik, 2001-08-03T13:47Z

Du kommer att få 2 rader med en kolumn som kommer att heta t_status.
Första raden kommer att innehålla t_status och andra raden f_namn.
Om det är korrekt alltså...
tror jag :l

Hmmm...
Mysko...
Kolla stavfel, om dom finns.
Ifall dom av någon konstig anledning skulle vara reserverad ord så kan du använda hakparanteser runt...
Typ såhär:

SELECT \[t_status\] FROM topics WHERE topic_id=81 UNION SELECT \[f_name\] FROM forum WHERE forum_id=22

Kolla också så att ID:na är rätt...

Lycka till :)

Permalänk: https://www.webforum.nu/p/279720

## #8 — Pace, 2001-08-03T13:49Z

Nope de är inga reservera ord. Och ID:na hämar jag från en querystring, så 81 & 22 är bara exmpel här. Så det är inge fel är heller.

Permalänk: https://www.webforum.nu/p/279721

## #9 — Koplik, 2001-08-03T13:53Z

Ja, jag kan få krupp snart om du inte löser det där :D

Jag har inte den blekaste aning om vad felet kan vara...
Mitt test med ett strängvärde och ett booleanskt värde fungerade klockrent...

Så det är bara att felsöka kära Pace! :l
It's a dirty job, but someone have to do it. :e

Permalänk: https://www.webforum.nu/p/279722

## #10 — LarsG, 2001-08-03T14:01Z

Fältnamnen i recordset blir dom som finns i den första select-satsen, så ditt fält kommer att heta t_status, även om det innehåller värden från f_name i tabellen forum.

Om du vill kunna skilja på vilka värden som kommer från vilken tabell så kan du skriva

```
"SELECT t_status,1 as typ FROM topics WHERE topic_id=81 UNION SELECT f_name, 2 FROM forum WHERE forum_id=22"
```

och sedan kan du i din vbs skriva

```

if cint(rs("typ")) = 1 then
'hantera status
else
'hantera f_name
end if
```

Permalänk: https://www.webforum.nu/p/279723

## #11 — Pace, 2001-08-03T16:25Z

Nu blir det ju fel...

Jag tar ut tre värden Union, men recordseten skiftar värden beroende på om t_status är sant/falskt...

Jag vill alltså inte kolla vad det är för värde med "If", utan jag vill på något sätt få ut just tre variabler direkt. Går det på ett smidigt sätt?

Permalänk: https://www.webforum.nu/p/279724

## #12 — @nders, 2001-08-03T17:07Z

det jag kan komma att tänka på, som jag inte vet om det fungerar i access, är att göra en liten subquery:

```
"SELECT t_status, (SELECT f_name FROM forum WHERE forum_id=22) as f_name FROM topics WHERE topic_id=81"
```

torde fungera i min älskade sql server, och du får göra access-testet. ;)

funkar det som jag vill så ska du få ett recordset med två fält (som inte har något med varandra att göra, då), t_status och f_name.

mvh,

Permalänk: https://www.webforum.nu/p/279725

## #13 — Pace, 2001-08-03T17:14Z

Fungerar utmärkt i access osså & lite lättare att arbeta med! Tackar!

Permalänk: https://www.webforum.nu/p/279726

## #14 — Janspeed, 2001-08-06T10:49Z

Vad är **Union** och hur fungerar den?

Permalänk: https://www.webforum.nu/p/279727

## #15 — Tobbster, 2001-08-06T10:58Z

UNION Lägger ihop två tabeller till en ny tabell !!!

Permalänk: https://www.webforum.nu/p/279728

## #16 — emission, 2001-08-06T12:07Z

Nja.... :)

UNION sammanfogar resultaten från två SELECT-satser (sökningar)

Permalänk: https://www.webforum.nu/p/279729

## #17 — Tobbster, 2001-08-06T13:33Z

> UNION sammanfogar resultaten från två SELECT-satser (sökningar)

Okej Emission bara för att det är du så kan jag väl hålla med ......
Men är inte det mer vad man använder det till...   :)
Vi menar ju samma sak...
För resultatet man får ut är ju unikt får två tabeller sammanslaget.....

Permalänk: https://www.webforum.nu/p/279730

## #18 — emission, 2001-08-06T13:55Z

För resultatet man får ut är ju unikt får två tabeller sammanslaget.....

Nja, det behöver faktiskt inte vara två tabeller. Man kan lika gärna göra en UNION i en tabell. Det är resultaten som förenas, inte tabellerna. :)

Permalänk: https://www.webforum.nu/p/279731

## #19 — Tobbster, 2001-08-06T14:07Z

Okej där lärde man sig något nytt.....Men så brukar det vara när du skriver något....Tack för den lektionen

Permalänk: https://www.webforum.nu/p/279732

## #20 — Janspeed, 2001-08-06T15:22Z

Så **Union** är som en **Join**? Är inte riktigt med på skillnaden? :)

Permalänk: https://www.webforum.nu/p/279733

---

Tråden på webben: https://www.webforum.nu/amne/asp/10947-problem-med-sql-union  
Nästa sida: https://www.webforum.nu/amne/asp/10947-problem-med-sql-union/page2.md
