Re: [HACKERS] SELECT BUG
| От | Bruce Momjian |
|---|---|
| Тема | Re: [HACKERS] SELECT BUG |
| Дата | |
| Msg-id | 199909071539.LAA03078@candle.pha.pa.us обсуждение исходный текст |
| Ответ на | Re: [HACKERS] SELECT BUG (José Soares <jose@sferacarta.com>) |
| Список | pgsql-hackers |
[Charset iso-8859-1 unsupported, filtering to ASCII...] > > > Tom Lane ha scritto: > > > José Soares <jose@sferacarta.com> writes: > > > And now the other SELECT bug in the same data: > > > select master1.*, detail1.* > > > from master1 m, detail1 d > > > where trim(m.code)=trim(d.code); > > > > This one is definitely pilot error. Since you've renamed master1 and > > detail1 in the FROM clause, your use of the original names in the SELECT > > list is treated as adding more FROM items. Effectively your query is > > > > select m2.*, d2.* > > from master1 m, detail1 d, master1 m2, detail1 d2 > > where trim(m.code)=trim(d.code); > > > > You're getting a four-way join with only one restriction clause... > > > > There was a thread just the other day about whether we ought to allow > > queries like this, because of someone else making exactly the same > > error. I believe allowing tables to be referenced without FROM entries > > is a holdover from the old Postquel language that's not found in SQL92. > > Maybe we should get rid of it on the grounds that it creates confusion. > > > > regards, tom lane > > > > > > PostgreSQL should raise a syntax error like Informix and Oracle do. We sould at least give them an elog(NOTICE) to say we are doing something special, no? > > > ************ > > INFORMIX: > > > > select master1.*, detail1.* from master1 m, detail1 d where mcode=dcode; > > # ^ > > # 522: Table (master1) not selected in query. > > # > > ------------------------------------------------------------------------ > > ORACLE: > > > > select master1.*, detail1.* from master1 m, detail1 d where mcode=dcode > > * > > ERROR at line1: > > ORA-00942: table or view does not exist > > > > > > Jos_ > > > ************ > > -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
В списке pgsql-hackers по дате отправления: