SQL MS SQL 2 Datenbank in eine Anfrage benutzen...

roker002

Commander
Registriert
Dez. 2007
Beiträge
2.107
wie kann ich den 2 datenbanken miteinander joinen? ohne einen zusätzlichen select. geht das überhaupt?
 
Also bei Oracle DBs geht das auch nur wenn man dies über Table spaces macht.
Bei MySQL gehts garnicht.

Ich denke mal wenn sie sich nur auf SQL 92 berufen dann nein, geht nicht. Kann nur gut sein das MS was eigenes an Funktionen für hat. Mußt mal in MSDN schauen.

mfg
 
der_guru schrieb:
Bei MySQL gehts garnicht.

Moin,

das stimmt so nicht:

Code:
SELECT db1.t1.field1

FROM db1.table_name t1

INNER JOIN db2.table_name t2 ON db1.t1.id = db2.t2.id

WHERE .....

Das ist rein exemplarisch. table_name, db1/db2 und die Feldbezeichner sind natürlich entsprechend zu ersetzen...

In wie weit sich das ganze allerdings bei MS SQL umsetzen lässt, ist mir nicht bekannt :-/
 
Zuletzt bearbeitet:
ooh es geht....

mein problem aber ist... wenn ich eine spalte beeinflusse wie z.b
Code:
t1.[bla] as [xxx]
dann kann ich kein vergleich auf die neue spalte ausüben
 
Zuletzt bearbeitet:
Wenn du ein Alias verwendest, kannst du nur noch über diesen auf die Tabelle bzw. Spalte zugreifen.

Poste am besten mal dein komplettest SQL Statement.
 
beispiel von oben tuts aus....
Code:
SELECT db1.t1.field1 as [a]  db2.t1.field1 as [b]

FROM db1.table_name t1

INNER JOIN db2.table_name t2 ON db1.t1.id = db2.t2.id

WHERE .....

beim where kann dann aber nicht
Code:
where [a]>0 and [b]>0

naja hab mir schon gedacht dass es nicht geht.... was bei MySQL doch geht...
 
Mach doch ne Abfrage drum:

Code:
SELECT a, b 
FROM (SELECT db1.t1.field1 as a db2.t1.field1 as b
   FROM db1.table_name t1
   INNER JOIN db2.table_name t2 ON db1.t1.id = db2.t2.id) AS inner
WHERE a > 0 AND b > 0
 
DerEineDa schrieb:
Mach doch ne Abfrage drum:

Code:
SELECT a, b 
FROM (SELECT db1.t1.field1 as a db2.t1.field1 as b
   FROM db1.table_name t1
   INNER JOIN db2.table_name t2 ON db1.t1.id = db2.t2.id) AS inner
WHERE a > 0 AND b > 0

hmm es geht.... aber man darf " as inner" nicht benutzen bei dem 2ten select
 
Joa, wusste ich nicht. Ich hab MSSQL noch nie benutzt. In PostgreSQL ist ein Aliasname für solch eine "temporäre Datenquelle" Pflicht.
 
Zurück
Oben