25.04.2008, 08:04 | #1 |
совсем зелен
|
сортировка в запросе
как отсортировать клиентов в запросе по наименованию...если запрос осуществляется по таблице custTrans и в ней нет такого поля???
как можно выкрутиться??? |
|
25.04.2008, 08:08 | #2 |
совсем зелен
|
пока в голове только вариант добавить поле в эту таблицу...заполнять и сортировать затем по нему...может можно как то по другому???
Последний раз редактировалось V777; 25.04.2008 в 08:18. |
|
25.04.2008, 08:46 | #3 |
Участник
|
Никак. Хотите сортировать по наименованию добавляйте join в запрос.
Со всеми вытекающими последствиями для производительности. |
|
25.04.2008, 08:53 | #4 |
совсем зелен
|
а производительность сильно упадет???
|
|
25.04.2008, 09:09 | #5 |
совсем зелен
|
а можно кратенький примерчик как пркрутить джоин к квери...а то в книжке тока есть пример к селекту...но там и так все понятно...а к квери как???
|
|
25.04.2008, 09:18 | #6 |
Участник
|
легко
|
|
25.04.2008, 09:20 | #7 |
совсем зелен
|
а...блин я думал программно чет намутить нада...с этим я уже ковырялся...а программно запрос не нужно будит менять???
|
|
25.04.2008, 09:24 | #8 |
Участник
|
смотря сколько и что джойнить будете.
преход от запроса по одной таблице к запросу по нескольким таблицам может ускорить, а может и замедлить на десятки процентов... сортировка по длинному полю Наименование может замедлить запрос в разы. Особенно если нет индекса по наименованию... Сортировка сждойненных таблиц может привести к тому, что сначала все записи будут копироваться в tempDB, а уж там будет выполняться сортировка со всеми вытекающими последствиями для дисковой очереди сервера... после 16 таблиц в одном запросе MS SQL перестает выполнять оптимизацию запроса а после 12 часов карета превратится в тыкву, а твое платье в рвань... А впрочем, что это я? Я же добрый фей |
|
25.04.2008, 09:26 | #9 |
Участник
|
Цитата:
Поищите на форуме кучу кода. Ключевое слово addDataSource Я же предлагаю нарисовать в AOT, а в коде использовать краткую конструкцию Query q = new Query(querystr(mySuperAOTquery))); |
|
25.04.2008, 09:26 | #10 |
совсем зелен
|
хы...
|
|
25.04.2008, 09:29 | #11 |
совсем зелен
|
хм...извини я чет не допонимаю...запрос уже есть...он идет по таблице custtrans...причем запрос прям в отчете...мне в отчет добавить вложеный датасоурс custTable и у казать поле сортировки и релэшины и все будит работать???
|
|
25.04.2008, 09:29 | #12 |
Участник
|
Цитата:
Цитата:
queryBuildDataSource1 = queryBuildDataSource.addDataSource(tablenum(PurchTable));
queryBuildDataSource1.joinMode(JoinMode::EXISTSJOIN); queryBuildDataSource1.addLink(fieldnum(InventTrans, transRefId), fieldnum(PurchTable, purchId)); Поиск по joinMode таких мест много найдёте. В книге такие вещи описывались. |
|
25.04.2008, 09:30 | #13 |
Участник
|
Цитата:
Но производительность может упасть, а может и не упасть (но если этим приемом увлекаться, то упадет гарантировано) |
|
25.04.2008, 09:32 | #14 |
Участник
|
Лучше бы конечно autoRelation задействовать, нежели руками ставить...
|
|
25.04.2008, 09:37 | #15 |
совсем зелен
|
хм...сделал так...ругается что невозможно выбрать операции по CustTrans...
|
|
25.04.2008, 09:40 | #16 |
Участник
|
а можно скриншот раскрытого datasource, раскрытых секций, ошибки и кода, если он есть?
|
|
25.04.2008, 09:42 | #17 |
совсем зелен
|
дык я не понял как его сюда присабачить...а так конечно можно...
|
|
25.04.2008, 09:45 | #18 |
Участник
|
зайдите в "расширенный режим"
нажмите на кнопку "Управление вложениями" просто укажите файл и загрузите его на форум напишите текст ответа нажмите на кнопку ответить. форум сам разберется и сразу покажет картинку, если файл является изображением. |
|
25.04.2008, 09:48 | #19 |
совсем зелен
|
ща код еще прикреплю...
|
|
25.04.2008, 09:51 | #20 |
совсем зелен
|
вот собственно...
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Сортировка в гриде с двумя DataSource | 15 | |||
FormListControl сортировка | 2 | |||
Сортировка в гриде | 15 | |||
Сортировка в запросе "В Наличии" | 16 | |||
Глючит сортировка записей | 5 |
|