Abfrage auf 2 DBs
Paul
- php
hallo,
hab eine frage wie ich diese aufgabe am besten lösen kann.
ich habe 2 datenbanken.
auf der 1. hab ich die felder ID und Status
von der brauch ich alle die den status grösser haben als 0
status > 0
auf der 2. hab ich die felder ID und Beschreibung
wie kann ich das machen, brauche ja 2 datenbank verbindung
weil eines ist auf der 1. und die ander info auf der 2.
das ergebniss soll so aussehen
von der ersten status grösser null
und dann der vergleich mit der identischen id um die beschreibungen zu bekommen
nur von denen die den status grösser null haben.
wie kann ich das am besten lösen?
grüsse
Hi,
wie kann ich das am besten lösen?
$db1 = mysql_connect("mysql_host", "mysql_user", "mysql_password");
mysql_select_db($db1,"Meine_Datenbank");
$db2 = mysql_connect("mysql_host", "mysql_user", "mysql_password");
mysql_select_db($db2,"Meine_Datenbank");
Einfach 2 verbindungen öffnen :)
Viele Grüße
Chris
Einfach 2 verbindungen öffnen :)
Ja danke :)
aber wie verknüpfe ich die abfrage zusammen?
Einfach 2 verbindungen öffnen :)
aber wie verknüpfe ich die abfrage zusammen?
Mit JOINS:
SELECT
tabelle1.id,
status,
tabelle2.beschreibung
FROM
tabelle1
LEFT JOIN
tabelle2 ON tabelle1.id = tabelle2.id
WHERE
status > 0
Wobei mir status ein ungünstiger Spaltenname zu sein scheint, ggf. musst du ihn in Backticks einschließen.
Siechfred
SELECT
tabelle1.id,
status,
tabelle2.beschreibung
FROM
tabelle1
LEFT JOIN
tabelle2 ON tabelle1.id = tabelle2.id
WHERE
status > 0
Kann das eigentlich so gehen?
Tabelle 1 ist auf datenbank nummer 1 und tabelle 2 ist auf datenbank 2
hi,
Kann das eigentlich so gehen?
Tabelle 1 ist auf datenbank nummer 1 und tabelle 2 ist auf datenbank 2
Warum eigentlich?
Die Daten stehen ja offenbar miteinander in direkter Beziehung - wieso sind sie dann über zwei DBs verteilt?
gruß,
wahsaga
ja das ist halt so, ist einbisschen kompliziert.
aber sowas ist doch möglich oder nicht?
Kann das eigentlich so gehen?
Tabelle 1 ist auf datenbank nummer 1 und tabelle 2 ist auf datenbank 2
Theoretisch ja, wenn du zusätzlich die Datenbank angibst, wo die Tabelle zu finden ist (z.B. datenbank1.tabelle1 statt tabelle1). Praktisch habe ich damit aber keine Erfahrungen.
Siechfred
Theoretisch ja, wenn du zusätzlich die Datenbank angibst, wo die Tabelle zu finden ist (z.B. datenbank1.tabelle1 statt tabelle1).
das problem ist wahrscheindlich 2 mysql_connect offen zuhaben oder?
Hallo
das problem ist wahrscheindlich 2 mysql_connect offen zuhaben oder?
Nein, aber das hat Dir dedlfix schon gesagt.
Liegen die beiden Tabellen auf verschiedenen Datenbankservern sieht es nicht so gut aus, ist aber prinzipiell möglich: siehe mein Archivposting
Freundliche Grüße
Vinzenz
Nein, aber das hat Dir dedlfix schon gesagt.
Liegen die beiden Tabellen auf verschiedenen Datenbankservern sieht es nicht so gut aus, ist aber prinzipiell möglich: siehe mein Archivposting
ja die sind beide auf dem gleichen datenbankserver
hi,
ich habe 2 datenbanken.
auf der 1. hab ich die felder ID und Status
von der brauch ich alle die den status grösser haben als 0
status > 0auf der 2. hab ich die felder ID und Beschreibung
Bist du sicher, dass du wirklich zwei _Datenbanken_ meinst - und nicht einfach nur zwei _Tabellen_ in ein und der selben Datenbank?
gruß,
wahsaga
hi,
Bist du sicher, dass du wirklich zwei _Datenbanken_ meinst - und nicht einfach nur zwei _Tabellen_ in ein und der selben Datenbank?
OK, du scheinst dir sicher zu sein.
gruß,
wahsaga
Bist du sicher, dass du wirklich zwei _Datenbanken_ meinst - und nicht einfach nur zwei _Tabellen_ in ein und der selben Datenbank?
ja ich meine wirklich 2 datenbanken
echo $begrüßung;
Bist du sicher, dass du wirklich zwei _Datenbanken_ meinst - und nicht einfach nur zwei _Tabellen_ in ein und der selben Datenbank?
ja ich meine wirklich 2 datenbanken
Dann wäre noch die Frage zu kären, ob sich diese beiden Datenbanken im selben DBMS befinden oder in verschiedenen. Im Falle von MySQL (Verwendest du dies oder ein anderes DBMS? Du erwähntest das bisher nicht.) benötigst du dann nur eine Verbindung zum DBMS und müsstest dich mit dem Kapitel Identifier Qualifiers beschäftigen.
echo "$verabschiedung $name";
Dann wäre noch die Frage zu kären, ob sich diese beiden Datenbanken im selben DBMS befinden oder in verschiedenen.
ja befinden sich beide auf dem selben
Hallo Paul,
Dann wäre noch die Frage zu kären, ob sich diese beiden Datenbanken im selben DBMS befinden oder in verschiedenen.
ja befinden sich beide auf dem selben
und welches Problem hast Du nach der Lektüre von Identifier Qualifiers noch?
Freundliche Grüße
Vinzenz
und welches Problem hast Du nach der Lektüre von Identifier Qualifiers noch?
keine mehr, vielen dank allen