|
|
|
Supreme Being
      
участник
Last Login: 04.08.2008 12:56
Сообщ.: 118,
Visits: 1 576
|
|
Написал такой запрос:select count(x) from (select owner||'.'||table_name from all_tables where OWNER = 'DATA') where *point = 281;
В позиции звездочки (поставлена для указания позиции) выдается сообщение об ошибке(ORA-00904:invalid column name).
Можно ли как-то это обойти?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 06.05.2006 8:46
Сообщ.: 244,
Visits: 2 687
|
|
| Правильно выдает. Ибо в твоем подзапросе нет поля point. И не count([bold]x[/bold] ) надо, а cpount([bold]*[/bold]). И незачем складывать строки для того, чтобы узнать их количество.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 06.05.2006 8:46
Сообщ.: 244,
Visits: 2 687
|
|
| count(*) конечно. Рука дрогнула. 8-)
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.08.2008 12:56
Сообщ.: 118,
Visits: 1 576
|
|
[quote="TSergey"]Правильно выдает. Ибо в твоем подзапросе нет поля point. И не count([bold]x[/bold] ) надо, а cpount([bold]*[/bold]). И незачем складывать строки для того, чтобы узнать их количество.[/quote]
Пишу select для того чтобы правильно написать многотабличный апдейт поэтому count().
Но проблема не в том, поле point в таблицах выбираемых подзапросом существуют.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 06.05.2006 8:46
Сообщ.: 244,
Visits: 2 687
|
|
>Но проблема не в том, поле point в таблицах выбираемых подзапросом существуют.
В таблицах существует, а в подзапросе (который ты привел по крайней мере) нет. А условие where *point = 281 относится к подзапросу, а не к исходным таблицам.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.08.2008 12:56
Сообщ.: 118,
Visits: 1 576
|
|
[quote="TSergey
В таблицах существует, а в подзапросе (который ты привел по крайней мере) нет. А условие where *point = 281 относится к подзапросу, а не к исходным таблицам.
[/quote]
Проблема решена методом ручного перебора таблиц из подзапроса (всего 56 :)), решение не найдено.
|
|
|
|