webForumDet fria alternativet

Problem med SQL Union

ASP

22 svar · 329 visningar · startad av Pace · sida 2 av 2

Frågan, av Pace

"SELECT tstatus FROM topics WHERE topicid=81 UNION SELECT fname FROM forum WHERE forumid=22" Hur ska man göra för att få detta att funka? (tabellerna har ingen relationer här) \------------------ Peter D

Läs frågan i sin helhet →
Medlem sedan dec. 19996 721 inlägg
#21

Nej, UNION är inte alls som en JOIN.

Enklet uttryckt:

JOIN länkar samman tabeller, genom relaterade kolumner, i en SELECT-sats.

UNION sammanfogar resultaten från två SELECT-satser till ett resultat.

Om SELECT-sats 1 returnerar

1|Hej|Hopp
2|Hup|Mupp

och SELECT-sats 2 returnerar

2|Hup|Mupp
3|Pup|Supp

..så returnerar UNION:en av dessa

1|Hej|Hopp
2|Hup|Mupp
3|Pup|Supp

Medlem sedan jan. 2001510 inlägg
#22

Hmm... där blev jag allt ställd.

Hittar den två poster som är likadana i de två resultaten och sedan helt enkelt lägger ihop dem och tar bort den ena av de likadana posterna?

Vad använder man det till? Tror inte jag har greppat detta riktigt än? :)

Medlem sedan dec. 19996 721 inlägg
#23

Dubletter tas bort. Det är en UNION i sann logisk mening.

Man kan även använda UNION ALL, och då får man med allt.

Vad använder man det till?

T.ex. om du har två snarlika tabeller, t.ex. ett företagsregister och ett medlemsregister, och vill lista alla telefonnummer i båda dessa, utan att behöva göra två sökningar/listningar.

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