0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 14
|
||||||
1 | ||||||
Убрать повторяющиеся элементы25.04.2013, 13:43. Показов 3113. Ответов 19
Метки нет (Все метки)
Приветствую. Имеется небольшая проблема с выводом результатов запроса из базы в Treeview.
Суть в следующем: Имеется база с кулинарными рецептами, ингредиентами и способом приготовления. При поиске в базе по одному ингредиенту одного блюда - появляется 1 рецепт: (см. скриншот 1) Если же к поиску добавить ещё 1 ингредиент, содержащийся в этом блюде, то в результатах появляется ещё 1 копия этого блюда: (см. скриншот 2, который с обведенными значениями) Т.е. для поиска берутся элементы из ListBox2 и по ним идет поиск в базе: Собственно сам код процедуры запроса:
Заранее благодарю.
0
|
25.04.2013, 13:43 | |
Ответы с готовыми решениями:
19
Сортировка, убрать повторяющиеся элементы Убрать повторяющиеся элементы в массиве Убрать повторяющиеся элементы одномерного массива Напомните формулу (убрать или удалить , скрыть, повторяющиеся элементы) |
59 / 59 / 7
Регистрация: 11.03.2013
Сообщений: 191
|
||||||
25.04.2013, 14:57 | 2 | |||||
VasyaAgPro, попробуйте добавить DISTINCT в ваш SQL запрос.
Начинаться будет так:
1
|
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 14
|
|
25.04.2013, 15:11 [ТС] | 3 |
VitoAcidrain, Да, я пробовал это. Если не ошибаюсь - эта функция находит повторяющиеся элементы в базе и не выводит их несколько раз. Но у меня в базе повторяющихся элементов нет, поэтому эта функция бесполезна.
Проблема происходит при формировании дерева, может есть какая то процедура, позволяющая сравнить все уже выведенные в TreeView значения и убрать совпадения?
0
|
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
|
|
25.04.2013, 15:40 | 4 |
VasyaAgPro, для формирования списка наименований в тело запроса не добавляете ингредиенты (+ делайте Distinct) - и будут вам названия в одном экземпляре.
1
|
59 / 59 / 7
Регистрация: 11.03.2013
Сообщений: 191
|
|||||||||||
25.04.2013, 15:45 | 5 | ||||||||||
Можно подумать о проверке через IF.
Но в вашем запросе ещё одно смущает. У вас
Добавлено через 3 минуты Waddonator, осмелюсь предположить, что запрос в таком случаи выведет все блюда из категории, а не единственный нужный.
0
|
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
|
|
25.04.2013, 15:58 | 6 |
0
|
59 / 59 / 7
Регистрация: 11.03.2013
Сообщений: 191
|
||||||
25.04.2013, 16:11 | 7 | |||||
Если я правильно понял, то
Остальные условия, кроме ингредиентов, служат для связи двух таблиц.
0
|
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
|
|||||||||||
25.04.2013, 16:18 | 8 | ||||||||||
VitoAcidrain, нужно оставить все как было, только вместо
0
|
59 / 59 / 7
Регистрация: 11.03.2013
Сообщений: 191
|
||||||
25.04.2013, 16:43 | 9 | |||||
Waddonator, на счет DISTINCT я ТС говорил. Судя по всему это не работает.
А разницы между * и <поле с наименованием> не должно быть. Все равно инфа берется из столбца с наименованиями.
0
|
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
|
|
25.04.2013, 16:49 | 10 |
VitoAcidrain, "должно", "не должно"... Вы сначала попробуйте, а потом говорите. Не хочу вас расстраивать, разница между одним полем и множеством полей, все таки, есть.
0
|
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 14
|
|
25.04.2013, 16:50 [ТС] | 11 |
Waddonator, Буду благодарен, если на примере полного запроса покажите, не совсем понятно, что имеете ввиду, т.к. просто DISTINCT не работает. Если требуется структура базы, сделаю скрин, хотя, кажется, и так по запросу она понятна...
И надеюсь мы правильно друг друга поняли насчет того, что в итоге должны выводиться несколько разных блюд по всем имеющимся ингредиентам, а не конкретно одно: (см.скриншот)
0
|
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
|
||||||
25.04.2013, 16:55 | 12 | |||||
VasyaAgPro, в каком поле хранится название типа "суп овощной"?
Добавлено через 1 минуту
0
|
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 14
|
|
25.04.2013, 17:02 [ТС] | 13 |
Waddonator, текстовое поле 'title', таблицы cookbook:
0
|
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
|
|
25.04.2013, 17:04 | 14 |
VasyaAgPro, выше написал. Пробуйте.
0
|
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 14
|
|
25.04.2013, 17:36 [ТС] | 15 |
Waddonator,
Ошибка, ругается на этот cockbook.title, что он не найден:
0
|
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
|
|||||||||||
25.04.2013, 17:42 | 16 | ||||||||||
VasyaAgPro, выложите проект, ща разберемся.
Добавлено через 3 минуты в 21 строке
1
|
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 14
|
|
25.04.2013, 17:51 [ТС] | 17 |
Waddonator, вот:
0
|
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
|
||||||
25.04.2013, 18:09 | 18 | |||||
В логике ошибка. Замените код на следующий
И проверку поставьте, если ничего не выбрано, то создать пустое дерево.
2
|
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 14
|
|
25.04.2013, 18:11 [ТС] | 19 |
Waddonator, Спасибо огромное, очень выручили.
0
|
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
|
|||||||||||
25.04.2013, 18:18 | 20 | ||||||||||
VasyaAgPro, кроме того, там еще ошибка есть. Вместо
1
|
25.04.2013, 18:18 | |
25.04.2013, 18:18 | |
Помогаю со студенческими работами здесь
20
Динамические массивы: убрать элементы, повторяющиеся больше двух раз Задача заключается в том что бы сложить 2 массива, и убрать повторяющиеся элементы Дана матрица.Заменить все повторяющиеся элементы - 1, а не повторяющиеся - 0 Все повторяющиеся элементы матрицы заменить на 0,а не повторяющиеся на 1 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |