Subject | Ambiguous select statements |
---|---|
Author | Nando Dessena |
Post date | 2001-01-11T13:41:29Z |
Hello,
I noticed that IB happily executes an ambiguous query of the form:
select ...
from orders o
left join customers c1 on (o.customer_id1 = c1.id)
left join customers c2 on (o.customer_id2 = c2.id)
where somefield = 'somevalue'
Assuming "somefield" exists in both the customers and the orders table,
the query is ambiguous unless the reference in the where clause is
qualified.
I have been told that other RDBMS' throw errors in this situation, while
IB simply executes the statement giving back seemingly unpredictable
results.
I was wondering if this behaviour is somehow defined by the SQL
standard, or there are reasons for executing ambiguous statements
without displaying errors.
Otherwise, we could think about adding such a "feature".
Regards
--
____
_/\/ando
I noticed that IB happily executes an ambiguous query of the form:
select ...
from orders o
left join customers c1 on (o.customer_id1 = c1.id)
left join customers c2 on (o.customer_id2 = c2.id)
where somefield = 'somevalue'
Assuming "somefield" exists in both the customers and the orders table,
the query is ambiguous unless the reference in the where clause is
qualified.
I have been told that other RDBMS' throw errors in this situation, while
IB simply executes the statement giving back seemingly unpredictable
results.
I was wondering if this behaviour is somehow defined by the SQL
standard, or there are reasons for executing ambiguous statements
without displaying errors.
Otherwise, we could think about adding such a "feature".
Regards
--
____
_/\/ando