|
![]() |
#1 |
Administrator
|
Цитата:
Но тогда неясен запрос. Если таблица B связывается с C по INNER JOIN - то тогда какие могут быть NULL-ы? NULL-ов в АХ нет. Они могут образовываться только от LEFT OUTER JOIN, но именно эти записи отбираются notexists join-ом
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#2 |
Участник
|
Все крутится в отчете и запрос еще соединения содержит, не очень удобно. Нельзя в коде через какой-нибудь == (case B.PoleTTT isnull '' default B.PoleTTT ) ?
а вот так понятнее или только усугубит: таблица A с прицепами для автомобилей. К ней привязана таблица B с автомобилями, именно в таблице B указан параметр определяющий стоимость из таблицы С для прицепа из А. В таблице С ищем стоимость- мы нашли наш прицеп в ней, но необходимо еще учесть параметр из B. Если автомобиль к прицепу не привязали, то берем по нашему прицепу по умолчанию параметр "оранжевый" и стоимость для него. |
|
![]() |
#3 |
Administrator
|
Цитата:
Сообщение от trudel
![]() Все крутится в отчете и запрос еще соединения содержит, не очень удобно. Нельзя в коде через какой-нибудь == (case B.PoleTTT isnull '' default B.PoleTTT ) ?
а вот так понятнее или только усугубит: таблица A с прицепами для автомобилей. К ней привязана таблица B с автомобилями, именно в таблице B указан параметр определяющий стоимость из таблицы С для прицепа из А. В таблице С ищем стоимость- мы нашли наш прицеп в ней, но необходимо еще учесть параметр из B. Если автомобиль к прицепу не привязали, то берем по нашему прицепу по умолчанию параметр "оранжевый" и стоимость для него. ![]() Поэтому по сути - наверное с ходу не подскажу другой идеи, кроме как разбить запросы.
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#4 |
Участник
|
ну не может быть, чтобы у такой простой задачи не было простого решения...
== (case B.PoleTTT isnull '' default B.PoleTTT ) ?.. ![]() |
|
![]() |
#5 |
NavAx
|
Цитата:
Как вам правильно подсказывают, разбейте на несколько запросов. Это не SQL, в котором нужно одним монструозным запросом все перелопатить. И я бы так базу не проектировал, конечно.
__________________
Isn't it nice when things just work? |
|
![]() |
#6 |
Участник
|
|
|
![]() |
#7 |
Участник
|
Цитата:
Правильно, не надо тратить время на изучение никому ненужного языка есть же c# пишите на нем и подключайте библиотеки! |
|
![]() |
#8 |
Участник
|
Цитата:
![]() Есть enum поля. делаю outer join с таблицей, содержащей их, для отчета. В итоге отчет выводит там где соединения не произошло все равно первое(0) значение енума, а должен пустое. Каким образом это сделать. При заполнении поля проверять поле "неенум типа" этой таблицы и если оно пустое, то тогда и енум поля заполнять пустым? |
|
![]() |
#9 |
NavAx
|
А права доступа вы как будете к такому решению привинчивать? Особенно record level? Как вы будете отслеживать изменения в схеме данных? Ждать пока в runtime сбойнет?
__________________
Isn't it nice when things just work? |
|
![]() |
#10 |
Участник
|
У человека было большое желание написать запрос используя синтаксис SQL. Я подсказал как это можно сделать. Правильно это или нет это уже другой вопрос.
|
|
![]() |
#11 |
Участник
|
Как уже сдесь говорили в Ах поля не могут быть null следовательно этой задачи в этом языке быть не может. Если вы хотите чтобы вам помогли опишите ЧТО вы хотите достичь. а не КАК вы этого хотите достичь и вам обязательно помогут. Ну или постараются.
|
|
![]() |
#12 |
Участник
|
Цитата:
Сообщение от trudel
![]() таблица A с прицепами для автомобилей. К ней привязана таблица B с автомобилями, именно в таблице B указан параметр определяющий стоимость из таблицы С для прицепа из А. В таблице С ищем стоимость- мы нашли наш прицеп в ней, но необходимо еще учесть параметр из B. Если автомобиль к прицепу не привязали, то берем по нашему прицепу по умолчанию параметр "оранжевый" и стоимость для него.
|
|