Aliase und Subselect

15/04/2008 - 13:03 von Alexander Mueller | Report spam
Hallo

Folgender Select schlàgt fehl mit:

"Meldung 4104, Ebene 16, Status 1, Zeile 1
Der mehrteilige Bezeichner "A.Adressid" konnte nicht gebunden werden."

Warum ist der àussere Alias "A" im inneren
Subselect nicht "sichtbar"?

Select
A.Adressid
FROM
Vereinbarung A ,
(
SELECT
I.Adressid
FROM
IHLEVereinbarung I
WHERE
I.Adressid = A.Adressid -- <- Erzeugt Fehler
) AS T
WHERE
T.Adressid = A.Adressid




MfG
Alex
 

Lesen sie die antworten

#1 Christa Kurschat
15/04/2008 - 13:21 | Warnen spam
Hallo Alexander,

"Alexander Mueller" schrieb im Newsbeitrag
news:
Hallo

Folgender Select schlàgt fehl mit:

"Meldung 4104, Ebene 16, Status 1, Zeile 1
Der mehrteilige Bezeichner "A.Adressid" konnte nicht gebunden werden."

Warum ist der àussere Alias "A" im inneren
Subselect nicht "sichtbar"?

Select
A.Adressid
FROM
Vereinbarung A ,
(
SELECT
I.Adressid
FROM
IHLEVereinbarung I
WHERE
I.Adressid = A.Adressid -- <- Erzeugt Fehler
) AS T
WHERE
T.Adressid = A.Adressid




Du joinst im Prinzip einn Tabelle mit einer abgeleiteten Tabelle
(Subselect). Der muß auch für sich allein ausfühbar sein. Du kannst Dich
also nicht auf den Alias einer anderen Tabelle beziehen.
Was willst Du denn erreichen.

Entweder machst Du es so:
Select
A.Adressid,
(
SELECT
I.Adressid
FROM
IHLEVereinbarung
) as wasauchimmer
FROM
Vereinbarung A
WHERE
A.Adressid

oder so

Select
A.Adressid
FROM
Vereinbarung A, (
SELECT
I.Adressid
FROM
IHLEVereinbarung
) T
WHERE
T.Adressid = A.Adressid

Gruß
Christa
Access-FAQ: http://www.donkarl.com
SQL-Server-FAQ: www.sqlfaq.de
InsideSql: www.insidesql.org

Ähnliche fragen