AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.05.2007, 12:23   #1  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
О Боже...
X++:
While select table1 where table1.itemid == table2.itemid &&
(table2.feature == tmp1 || table2.feature == tmp2  ...)
Так не пойдет?
Старый 29.05.2007, 11:14   #2  
leshy is offline
leshy
Участник
 
118 / 11 (1) +
Регистрация: 23.02.2004
Адрес: Киев
Цитата:
Сообщение от Sada Посмотреть сообщение
О Боже...
X++:
While select table1 where table1.itemid == table2.itemid &&
(table2.feature == tmp1 || table2.feature == tmp2  ...)
Так не пойдет?
К сожалению не пойдет.
Потому что нужно выбрать записи, которые содержат все критерии, а не хотя бы один. Вот если бы в вашем примере вместо ИЛИ можно было использовать И, тогда это было бы похоже на то что нужно.
Старый 29.05.2007, 11:18   #3  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от leshy Посмотреть сообщение
К сожалению не пойдет.
Потому что нужно выбрать записи, которые содержат все критерии, а не хотя бы один. Вот если бы в вашем примере вместо ИЛИ можно было использовать И, тогда это было бы похоже на то что нужно.
А в чем проблема используйте И.
Старый 29.05.2007, 11:30   #4  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,821 / 402 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от miklenew Посмотреть сообщение
А в чем проблема используйте И.
не поможет
Старый 29.05.2007, 11:31   #5  
leshy is offline
leshy
Участник
 
118 / 11 (1) +
Регистрация: 23.02.2004
Адрес: Киев
Цитата:
Сообщение от miklenew Посмотреть сообщение
А в чем проблема используйте И.
miklenew можете привести пример запроса?
Пусть мы имеем Таблица 1
ItemId
1
2
3
Таблица 2
ItemId Feature
1 A
1 B
1 C
2 A
2 C
3 B

Мне нужно выбрать товар, который содержит харктеристики А, B и С.
Старый 29.05.2007, 11:51   #6  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от leshy Посмотреть сообщение
miklenew можете привести пример запроса?
Мне нужно выбрать товар, который содержит харктеристики А, B и С.
While select table1
{
select table2 where table2.itemid == table1.itemid && table2.feature == A && table2.feature ==B && table2.feature ==C
if (table2)
в контйнер или куда нибудь
}
Старый 29.05.2007, 12:04   #7  
Ed1k is offline
Ed1k
Участник
 
102 / 42 (2) +++
Регистрация: 19.07.2006
Цитата:
Сообщение от leshy Посмотреть сообщение
Пусть мы имеем Таблица 1
ItemId
1
2
3
Таблица 2
ItemId Feature
1 A
1 B
1 C
2 A
2 C
3 B

Мне нужно выбрать товар, который содержит харктеристики А, B и С.
select ItemId from table1
group by ItemId
join TableId from table2
where (table2.ItemId == table1.ItemId) &&
((table2.Feature == "A") || (table2.Feature == "B"))
Старый 29.05.2007, 12:11   #8  
leshy is offline
leshy
Участник
 
118 / 11 (1) +
Регистрация: 23.02.2004
Адрес: Киев
Цитата:
Сообщение от Ed1k Посмотреть сообщение
select ItemId from table1
group by ItemId
join TableId from table2
where (table2.ItemId == table1.ItemId) &&
((table2.Feature == "A") || (table2.Feature == "B"))
Вот если бы можно было переписать ваш запрос следующим образом:
select ItemId from table1
group by ItemId
join count(TableId) from table2
where (table2.ItemId == table1.ItemId) &&
((table2.Feature == "A") || (table2.Feature == "B") || (table2.Feature == "C")) && count(tableId) =3

3 - количество условий

Последний раз редактировалось leshy; 29.05.2007 в 12:14.
Старый 29.05.2007, 14:33   #9  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от leshy Посмотреть сообщение
Пусть мы имеем Таблица 1
ItemId
1
2
3
Таблица 2
ItemId Feature
1 A
1 B
1 C
2 A
2 C
3 B

Мне нужно выбрать товар, который содержит харктеристики А, B и С.
Не понимаю. Вот две таблицы. 1-я номенклатур. 2-я связь. А третья таблица характеристики. Я так понимаю Feture - это id характеристики.
Старый 29.05.2007, 14:40   #10  
leshy is offline
leshy
Участник
 
118 / 11 (1) +
Регистрация: 23.02.2004
Адрес: Киев
Цитата:
Сообщение от miklenew Посмотреть сообщение
Не понимаю. Вот две таблицы. 1-я номенклатур. 2-я связь. А третья таблица характеристики. Я так понимаю Feture - это id характеристики.
В даном случае достаточно только id характеристики. Действительно еще есть справочник характеристик, но для данного запроса в нем нет необходимости.
Старый 29.05.2007, 14:51   #11  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от leshy Посмотреть сообщение
В даном случае достаточно только id характеристики. Действительно еще есть справочник характеристик, но для данного запроса в нем нет необходимости.
А чем плохо решение в 24-м сообщение.
За это сообщение автора поблагодарили: leshy (1).
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Помогите с запросом AvrDen DAX: Программирование 8 07.08.2007 15:24
Помогите с запросом Antonuch DAX: Программирование 4 21.06.2007 15:46
помогите с запросом oleg_e DAX: Программирование 4 10.10.2006 13:04
Помогите с запросом.. DarkBear DAX: Программирование 2 15.08.2005 13:38
Помогите с SQL запросом malex DAX: Программирование 8 26.07.2005 13:43

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:23.