Jan Eliasen <eliasen@cs.auc.dk> writes:
> Hejsa
>
> Jeg har oprettet en tabel i Oracle 8.0.5 med følgende;
> create table Veje (
> xcoord numeric(9,0),
> ycoord numeric(9,0),
> vejkode numeric(4,0),
> kmt numeric(3,0),
> unik numeric(3,0),
> hec numeric(6,0) unique);
>
> Og derefter vil jeg gerne udføre følgende forespørgsel;
> select min(sqrt(sqr(t.xcoord - v.xcoord) + sqr(t.ycoord - v.ycoord)))
> from veje v, veje t
> where (v.hec = t.hec-1) and (v.vejkode <> -9);
>
> Men den kokser i det med følgende fejlmeddelelse;
> select min(sqrt(sqr(t.xcoord - v.xcoord) + sqr(t.ycoord - v.ycoord)))
> *
> ERROR at line 1:
> ORA-00904: invalid column name
>
> sqr er et invalidt kolonnenavn??? Hvorfor først den anden sqr og ikke
> begge? Eller har jeg overset noget?
Er der en funktion i Oracle, der hedder sqr? (Jeg kan ikke lige finde den
i dokumentationen)
At den brokker sig ved nr. 2 skyldes sikkert en detalje i måden, SQL
parseren er implementeret på.
--
Med venlig hilsen
Christian Laursen
|