Avatar billede danjal2 Nybegynder
29. januar 2002 - 10:40 Der er 13 kommentarer og
1 løsning

flere databaser i en SQLQuery

Jeg skal lave en SQL-sætning, hvor jeg spørger på 2 tabeller fra hver deres database. Hvordan gør jeg det? Jeg har Delphi 6.
Avatar billede agony Nybegynder
29. januar 2002 - 10:43 #1
kan du ikke en sql sætning pr db
Avatar billede martinlind Nybegynder
29. januar 2002 - 10:44 #2
Jeg mener du skal bruge BDE også noget med at skrive alias: du kan evt. prøve med databasedesktop'en og se hvad den skriver, jeg tror ikke du kan direkte
Avatar billede tknudsen Nybegynder
29. januar 2002 - 10:50 #3
hvad er det for en db ? ligger de på samme server ?

på en ms sql srv kan gøre noget i stil med:

select t1.*, t2.* from
dbowner.dbname.tablename as t1, dbowner.dbname.tablename t2
Avatar billede danjal2 Nybegynder
29. januar 2002 - 10:56 #4
De ligger på samme server. Det er en SQL Server.
Avatar billede tknudsen Nybegynder
29. januar 2002 - 10:57 #5
ok - så tjekker jeg lige den præcise metode...
Avatar billede tknudsen Nybegynder
29. januar 2002 - 11:02 #6
dette virker for mig:

select t1.*, t2.*
from dbname.dbowner.tbl as t1,
dbname.dbowner.tbl as t2
where t1.idx = t2.idx
Avatar billede tknudsen Nybegynder
29. januar 2002 - 11:02 #7
jeg er logget ind som en bruger der har query rettighed på begge dber
Avatar billede tknudsen Nybegynder
29. januar 2002 - 11:03 #8
og så tror jeg iøvrigt at der istedet for dbowner skal stå dbo
Avatar billede danjal2 Nybegynder
29. januar 2002 - 11:19 #9
Sådan ser SQL-sætningen ud:

select nr, datoumsokn,
  (select undantak from umsokn a where a.radtal = b.radtal) as undantak,
  (select c.fornavn from samlad.sa.stam as c where c.radtal = b.radtal) as fornavn  from reumsoknoki b

Men den virker ikke. Samlad er den fremmede database. Sa er brugeren og Stam er tabellen.
Avatar billede tknudsen Nybegynder
29. januar 2002 - 11:21 #10
får du en fejlmeddelelse ?
Avatar billede danjal2 Nybegynder
29. januar 2002 - 11:24 #11
Ja!

[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid Object name 'samlad.sa.stam'
Avatar billede tknudsen Nybegynder
29. januar 2002 - 11:27 #12
jeg kender ikke den måde du anvender til at selecte de forskellige felter på, men jeg ville gøre sådan her:

select reum.nr, reum.datoumsokn, ums.undantak, saml.fornavn
from reumsoknoki as reum, umsokn as ums, samlad.db.stam as saml
where ums.radtal = reum.radtal
and reum.radtal = saml.radtal
Avatar billede tknudsen Nybegynder
29. januar 2002 - 11:30 #13
doh - tastefejl - prøv det her:

select reum.nr, reum.datoumsokn, ums.undantak, saml.fornavn
from reumsoknoki as reum, umsokn as ums, samlad.dbo.stam as saml
where ums.radtal = reum.radtal
and reum.radtal = saml.radtal
Avatar billede danjal2 Nybegynder
29. januar 2002 - 11:36 #14
Det virkede. Jeg har givet jeg pointene.
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
Kurser inden for grundlæggende programmering

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