Avatar billede bobbedude Nybegynder
19. april 2006 - 10:22 Der er 4 kommentarer og
1 løsning

Union fra to databaser

Jeg har prøvet det her:

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER={MySQL ODBC 3.51 Driver}; server=localhost; database=TGP; uid=xxxxxxxx; pwd=xxxxxxxx;"

strSQL = "SELECT * " &_
    "FROM TGP.paysites.DBO " &_
        "WHERE SiteName LIKE 'Raven' " &_
        " UNION " &_
        "SELECT * " &_
        "FROM TGPX.paysites.DBO " &_
        "WHERE SiteName LIKE 'Raven' "
Set rs = Connect.Execute(strSQL)

men det virker overhovedet ikke hvad er det jeg gør forkert ?
Avatar billede eagleeye Praktikant
19. april 2006 - 11:05 #1
Kommer der en fejl eller tager den ikke de poster du forventer?


Du kan prøve at sætte () omkring hvor SELECT:

strSQL = "(SELECT * " &_
        "FROM TGP.paysites.DBO " &_
        "WHERE SiteName LIKE 'Raven' " &_
        ") UNION (" &_
        "SELECT * " &_
        "FROM TGPX.paysites.DBO " &_
        "WHERE SiteName LIKE 'Raven')"



Er der lige mange kolonner i begge tabeller?
Hedder kolonnerne det samme i begge tabeller?
Ligger kolonnerne i samme rækkefølge i begge tabeller?



Jeg er ikke 100% sikker på hvor streng MySQL er men du kan prøve at skrive de kolonnenavne du skal havde ud og det skal være ens i begge SELECT's start evt. kun med en kolonne, eks:

strSQL = "(SELECT id, navn, adr " &_
        "FROM TGP.paysites.DBO " &_
        "WHERE SiteName LIKE 'Raven' " &_
        ") UNION (" &_
        "SELECT id, navn, adr " &_
        "FROM TGPX.paysites.DBO " &_
        "WHERE SiteName LIKE 'Raven')"



Hvis du ikke får alle de poster du forventer et det fordi MySQL laver "distinct" men mindre man skriver: UNION ALL og ikke kun UNION.
Avatar billede fennec Nybegynder
19. april 2006 - 11:10 #2
Man kan da ikke bruge 2 databaser i samme sql. Jeg er ikke engang klar over om de har fået den view funktionalitet du skal bruge, indbygget i version 5.0, men bruger du en ældre udgave kan det ikke lade sig gøre. Der bliver du nød til at oprette 2 DB forbindelser og 2 selects

Set Connect1 = Server.CreateObject("ADODB.Connection")
Connect1.Open "DRIVER={MySQL ODBC 3.51 Driver}; server=localhost; database=TGP; uid=xxxxxxxx; pwd=xxxxxxxx;"
Set Connect2 = Server.CreateObject("ADODB.Connection")
Connect2.Open "DRIVER={MySQL ODBC 3.51 Driver}; server=localhost; database=TGPX; uid=xxxxxxxx; pwd=xxxxxxxx;"
Set rs1 = Connect1.Execute("select * from paysites where SiteName LIKE 'Raven'")
Set rs2 = Connect2.Execute("select * from paysites where SiteName LIKE 'Raven'")
Avatar billede eagleeye Praktikant
19. april 2006 - 11:34 #3
Arh ja jeg har vist misforstået spørgsmålet :)
Avatar billede bobbedude Nybegynder
19. april 2006 - 13:33 #4
arh oki jamen så fandt jeg jo ud af det smid et svar fennec
Avatar billede fennec Nybegynder
19. april 2006 - 13:40 #5
.o) <-- One Eyed Jack
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester