12.03.2002, 09:08 | #1 |
сибиряк
|
group , но не by
<pre>
В таблице InventBuyerGroup есть такое поле Group Так вот как мне его впихнуть в select ? на обычный <p> <b>select Group from inventBuyerGroup ... </b> или <b>select inventBuyerGroup group by Group ... </b> </p> Аксапта справедливо пищит об ошибке А как указать ей , что это не зарезервированное слово, а поле? (в T-SQL аналог <b>select [Group] from inventBuyerGroup</b>) Хотелось бы знать, чья это была "умная мысля" назвать так поле Самое смешное, что физически на сервере это поле зовется <b>Group_</b> </pre>
__________________
С уважением, Вячеслав. |
|
18.03.2002, 11:44 | #2 |
Administrator
|
Есть 2 идеи:
Идея 1 - пользуйтесь в данном случае queryRun. Идея 2 - берите всю строку: select * from (правда group by не получится, но чем-то надо жертвовать )
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
19.03.2002, 15:42 | #3 |
Участник
|
Может просто переименовать поле и не мучиться?
|
|
20.03.2002, 06:21 | #4 |
сибиряк
|
просто не получится
<b>2AlGol</b>
просто не получится после такого эксперимента придется пройти по всему коду и исправить наименования поля во всех методах таблиц, классов,форм, отчетов... и иже с ними а как быть со стринг-контролами в формах и отчетах? они не поймут такого финта. <br> <b>подведу краткий итог:</b> на самом деле вопрос был чисто риторический. поле <b>Group</b> группировать в select'e смысла не имеет. оно уникальное в таблице групп закупщиков. а "неумение" аксапты использовать функции в select'e сводит на нет попытки группировки по части значения. К тому же по нему есть индекс. да ,действительно, я знаю, что проблема решается через query. но хотелось-то проще. Скорее это был пример как нельзя проектировать структуру. Еще один пример - таблица CustInvoiceLine. Кому интересно, поищите VendInvoiceLine
__________________
С уважением, Вячеслав. |
|
20.03.2002, 11:27 | #5 |
Участник
|
Выгрести все ошибки после такого переименования, конечно, придется.
Как - это дело вкуса и навыков, можно заранее просмотреть с помощью перекресных ссылок возможные масштабы исправлений, а можно просто пройтись по ошибкам после полной перекомпиляции приложения. На контролых форм, в которых указано непосредственно поле таблицы (а не display метод), это никак не отразится. Новое имя будет подхвачено сразу же после переименования. Наверное, ссылка идет по fieldId, а не по наименованию поля. В отчетах не пробовал, поэтому ничего не скажу. |
|
21.05.2003, 17:24 | #6 |
Lina A.
|
вообще-то говоря стандарт SQL-92 в подобных случаях (а это вам еще не встречались поля, которые содержат white space'ы) предусматривает квотирование имени поля или таблицы двойными кавычками
то есть в SQL такой запрос выглядел бы select "group" from table group by ... вот интересно, а X++ что ли не предусматривает ничего подобного для имен? |
|
21.05.2003, 17:30 | #7 |
Lina A.
|
вообще-то говоря стандарт SQL-92 в подобных случаях (а это вам еще не встречались поля, которые содержат white space'ы) предусматривает квотирование имени поля или таблицы двойными кавычками
то есть в SQL такой запрос выглядел бы select "group" from table group by ... вот интересно, а X++ что ли не предусматривает ничего подобного для имен? |
|
21.05.2003, 17:47 | #8 |
Участник
|
то что есть в X++ это не SQL (как нетрудно заметить в микроскоп)
а нечто другое (query by example) 2 Algol >Выгрести все ошибки после такого переименования, конечно, придется. >Как - это дело вкуса и навыков, можно заранее просмотреть с помощью >перекресных ссылок возможные масштабы исправлений, а можно просто пройтись >по ошибкам после полной перекомпиляции приложения. и повторять потом эту операцию для каждого нового сервис-пака.
__________________
Остановите этом мир, я сойду! |
|
21.05.2003, 18:15 | #9 |
Lina A.
|
я же не говорю, что x++ - это sql
и даже говорю совсем обратное просто мне хотелось получить ответ на мой вопрос. надо полагать, он такой - "нет" |
|
21.05.2003, 19:05 | #10 |
Модератор
|
Цитата:
просто мне хотелось получить ответ на мой вопрос.
Где Вы взяли дистрибутив аксапты без Developer's Guide? Вот не поленился поискать - CD:\Guides\AxDvgUs.chm. Опять же technet.navision.com умер совсем недавно, там этого добра тоже хватало |
|