SELECT-Befehl
am 03.06.2005 15:58:21 von Manuel Seber
Hallo,
ich (NEWBE) möchte folgenden SELECT-Befehl ausführen lassen:
SELECT FELD1 AS ALIAS1 FROM TABELLE1 WHERE id = X UNION
SELECT FELD1 AS ALIAS2 FROM TABELLE1 WHERE id = Y;
kriege aber als Ergebnis (in PHP) nur folgendes Array:
Array ( [ALIAS1] => "xxxxxx1" )
und in PHPMyAdmin folgendes Ergebnis:
ALIAS1
xxxxxx1
xxxxxx2
Wie muss ich also die beiden SELECT-Befehle verbinden damit ich als Ergebnis
Array ( [ALIAS1] => "xxxxxx1"
[ALIAS2] => "xxxxxx2" )
bekomme?
Vielen Dank für die Hilfe
Re: SELECT-Befehl
am 03.06.2005 16:46:28 von Hartmut Holzgraefe
Manuel Seber wrote:
> Hallo,
>=20
> ich (NEWBE) möchte folgenden SELECT-Befehl ausführen lassen:
>=20
> SELECT FELD1 AS ALIAS1 FROM TABELLE1 WHERE id =3D X UNION
> SELECT FELD1 AS ALIAS2 FROM TABELLE1 WHERE id =3D Y;
warum nicht einfach
SELECT FELD1 FROM TABELLE1 WHERE id =3D X OR id =3D Y;
oder
SELECT FELD1 FROM TABELLE1 WHERE id IN(X,Y);
?
> kriege aber als Ergebnis (in PHP) nur folgendes Array:
>=20
> Array ( [ALIAS1] =3D> "xxxxxx1" )
Und *wie* (code) kommst du zu diesem Ergebnis?
Das sieht schwer so aus als ob du nur die erste Ergebniszeile
per mysql_fetch_...() abfragst statt über die gesamte Ergebnismenge
zu iterieren?
> Wie muss ich also die beiden SELECT-Befehle verbinden damit ich als=20
> Ergebnis
>=20
> Array ( [ALIAS1] =3D> "xxxxxx1"
> [ALIAS2] =3D> "xxxxxx2" )
>=20
> bekomme?
Wenn du es wirklich in dieser Form brauchst dann so
SELECT t1.FELD1 AS ALIAS1, t2.FELD1 AS ALIAS2
FROM TABELLE1 t1, TABELLE1 t2
WHERE t1.id =3D X AND t2.id =3D Y
Aber ich glaube du willst die Werte einfach nacheinander
auslesen und nicht auf diese Art verknüpfen ...
--=20
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com
Re: SELECT-Befehl
am 03.06.2005 17:06:28 von Manuel Seber
Hartmut Holzgraefe schrieb:
> Wenn du es wirklich in dieser Form brauchst dann so
>
> SELECT t1.FELD1 AS ALIAS1, t2.FELD1 AS ALIAS2
> FROM TABELLE1 t1, TABELLE1 t2
> WHERE t1.id = X AND t2.id = Y
>
> Aber ich glaube du willst die Werte einfach nacheinander
> auslesen und nicht auf diese Art verknüpfen ...
>
Das war genau das, was ich gesucht habe. VIELEN HERZLICHEN DANK!
Noch ne kleine Frage: Für was steht das t1 und das t2?
Danke
Re: SELECT-Befehl
am 03.06.2005 17:14:18 von Hartmut Holzgraefe
Manuel Seber wrote:
> Hartmut Holzgraefe schrieb:
>=20
>> Wenn du es wirklich in dieser Form brauchst dann so
>>
>> SELECT t1.FELD1 AS ALIAS1, t2.FELD1 AS ALIAS2
>> FROM TABELLE1 t1, TABELLE1 t2
>> WHERE t1.id =3D X AND t2.id =3D Y
>>
>> Aber ich glaube du willst die Werte einfach nacheinander
>> auslesen und nicht auf diese Art verknüpfen ...
>>
>=20
> Das war genau das, was ich gesucht habe. VIELEN HERZLICHEN DANK!
>=20
> Noch ne kleine Frage: Für was steht das t1 und das t2?
Table-Aliases, du willst ja schließlich unterscheiden können
aus welcher Tabellen-Instanz die Felder kommen. In dieser
Schreibweise wirds vermutlich deutlicher:
SELECT t1.FELD1 AS ALIAS1, t2.FELD1 AS ALIAS2
FROM TABELLE1 AS t1, TABELLE1 AS t2
WHERE t1.id =3D X AND t2.id =3D Y
--=20
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com
Re: SELECT-Befehl
am 03.06.2005 17:16:48 von Manuel Seber
Danke, echt super!