|
|
#21 |
|
Участник
|
ну не может быть, чтобы у такой простой задачи не было простого решения...
== (case B.PoleTTT isnull '' default B.PoleTTT ) ?..
|
|
|
|
|
#22 |
|
NavAx
|
Цитата:
Как вам правильно подсказывают, разбейте на несколько запросов. Это не SQL, в котором нужно одним монструозным запросом все перелопатить. И я бы так базу не проектировал, конечно.
__________________
Isn't it nice when things just work? |
|
|
|
|
#23 |
|
Участник
|
|
|
|
|
|
#24 |
|
Участник
|
Цитата:
Правильно, не надо тратить время на изучение никому ненужного языка есть же c# пишите на нем и подключайте библиотеки! |
|
|
|
|
#25 |
|
Участник
|
Как уже сдесь говорили в Ах поля не могут быть null следовательно этой задачи в этом языке быть не может. Если вы хотите чтобы вам помогли опишите ЧТО вы хотите достичь. а не КАК вы этого хотите достичь и вам обязательно помогут. Ну или постараются.
|
|
|
|
|
#26 |
|
Участник
|
Цитата:
Сообщение от trudel
таблица A с прицепами для автомобилей. К ней привязана таблица B с автомобилями, именно в таблице B указан параметр определяющий стоимость из таблицы С для прицепа из А. В таблице С ищем стоимость- мы нашли наш прицеп в ней, но необходимо еще учесть параметр из B. Если автомобиль к прицепу не привязали, то берем по нашему прицепу по умолчанию параметр "оранжевый" и стоимость для него.
|
|
|
|
|
#27 |
|
NavAx
|
А права доступа вы как будете к такому решению привинчивать? Особенно record level? Как вы будете отслеживать изменения в схеме данных? Ждать пока в runtime сбойнет?
__________________
Isn't it nice when things just work? |
|
|
|
|
#28 |
|
Участник
|
У человека было большое желание написать запрос используя синтаксис SQL. Я подсказал как это можно сделать. Правильно это или нет это уже другой вопрос.
|
|
|
|
|
#29 |
|
Участник
|
|
|
|
|
|
#30 |
|
Участник
|
Я просто не обратил внимания на тему. Сорри.
С тем что так делать не надо я полностью согласен. Но ведь о том что DAX и так умеет надо упомянуть.
Последний раз редактировалось maldini; 27.04.2015 в 11:31. |
|
|
|
|
#31 |
|
Участник
|
Цитата:
и так учусь. что не нагуглю - спрашиваю.Есть enum поля. делаю outer join с таблицей, содержащей их, для отчета. В итоге отчет выводит там где соединения не произошло все равно первое(0) значение енума, а должен пустое. Каким образом это сделать. При заполнении поля проверять поле "неенум типа" этой таблицы и если оно пустое, то тогда и енум поля заполнять пустым? |
|
|
|
|
#32 |
|
Участник
|
Цитата:
Сообщение от trudel
помогите изучить. Книги на русском дают элементарные сведения, в справке на английском порой и не знаешь что искать. короче гуглю по вашему форуму
и так учусь. что не нагуглю - спрашиваю.Есть enum поля. делаю outer join с таблицей, содержащей их, для отчета. В итоге отчет выводит там где соединения не произошло все равно первое(0) значение енума, а должен пустое. Каким образом это сделать. При заполнении поля проверять поле "неенум типа" этой таблицы и если оно пустое, то тогда и енум поля заполнять пустым? X++: If (table) { return table.field; } else { return ""; } |
|
|
|
| За это сообщение автора поблагодарили: trudel (1). | |
|
|
#33 |
|
NavAx
|
В AX запросы обычно разбивают на несколько. Т.е. описанный пример, если я его правильно понимаю, можно реализовать примерно так:
select a where a.trailerId = ...; select b where b.Id == a.carId; if(b) { select c where... } else { color = "оранжевый"; } т.е. работаешь скорее не как с запросом, а как с функциями, заполняющими объект данными.
__________________
Isn't it nice when things just work? Последний раз редактировалось macklakov; 28.04.2015 в 02:25. |
|
|
|
| За это сообщение автора поблагодарили: trudel (1). | |
|
|
#34 |
|
Участник
|
Цитата:
Сообщение от trudel
Есть enum поля. делаю outer join с таблицей, содержащей их, для отчета. В итоге отчет выводит там где соединения не произошло все равно первое(0) значение енума, а должен пустое. Каким образом это сделать. При заполнении поля проверять поле "неенум типа" этой таблицы и если оно пустое, то тогда и енум поля заполнять пустым?
Axapta не в состоянии отличить состояние "нет значения", от "нулевого" значения поля. Значение NULL просто не поддерживается. Более того, для Enum вообще не существует понятия "пустого" (нулевого) значения, поскольку, как правило, нумерация в Enum как раз и начинается с нуля. Т.е. применительно к Enum отличить "пустое" от "не пустого" значения невозможно "в принципе" Только по значению других полей. Ну, за исключением случаев, когда нумерация Enum сделана "не стандартно" (разные есть варианты)В общем случае, по возможности, любые типы соединений, отличные от inner join лучше вообще избегать. Сопровождать такие запросы, если возникает желание как-то расширить функциональность, слишком сложно и накладно. По возможности, используйте различные альтернативы. От заполнения временных таблиц для отчета, до различных дисплейных методов. В Вашем случае, вероятно, подойдет вариант решения, использованный в формах SalesTable и PurchTable для отображения значений на закладках "Разноска", где отображаются номера и даты последних разнесенных документов разных типов.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... Последний раз редактировалось Владимир Максимов; 28.04.2015 в 11:30. |
|
|
|
|
#35 |
|
Участник
|
После работы чисто со sql сложно перестроиться.. как раз таки хочется слепить большой запрос с различными джоинами ...
Еще вопрос, есть ли аксе12 пример выбора сразу нескольких значений из списка для фильтра. Мне надо выбрать несколько значений из enumа и передать отчету. создал расширенный тип на него, но поле lookup дает выбрать только одно значение. |
|
|
|
|
#36 |
|
Участник
|
Цитата:
И вообще, Аксапта всегда инициализирует числовые поля 0-лями, а текстовые поля пустой строкой "". Последний раз редактировалось Ace of Database; 28.04.2015 в 15:44. |
|
|