| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > Выборка по нескольким значениям из одного поля |
| Автор: Serebrus 19.5.2011, 08:37 | ||
| Привет всем. Есть две таблицы: основной и подчиненный (как обычно). Первый table1 id | full_name ____________ 1 | tovar1 2 | tovar2 3 | tovar3 4 | tovar4 5 | tovar5 Второй table2 id | buyer_id | t_count | t_id ________________________ 1 | 1 | 10 | 1 2 | 1 | 15 | 2 3 | 1 | 10 | 4 4 | 2 | 30 | 2 5 | 2 | 30 | 4 6 | 3 | 20 | 4 ... Надо составить список покупателей, тех кто купили выбранные пользователем товары Для этого:
но этот селект не дает результат (т.е. пустой) в чем может быть проблема? |
| Автор: Zloxa 19.5.2011, 08:43 |
| Вы подумайте как товар одновременно может быть апельсином и абрикосом? Это ведь абсурдно. Вам нужно выбрать товары елси они являются апельсинами или абрикосами. |
| Автор: Serebrus 19.5.2011, 08:48 | ||
| Да, вы правы, как написать селект правильно? Если пользоваться IN, то в результат этого селекта добавится и пользователь под номером 3, т.е. если:
|
| Автор: Akina 19.5.2011, 09:04 | ||
Читать умеешь? перечитай ещё раз:
|
| Автор: Serebrus 19.5.2011, 11:12 |
| если все знают все (а такое вообще не реально, кроме БОГа), то зачем тогда форум, люди заходят узнать то что не знают, все же не такие как Вы Akina, зачем такие слова Если знаете решение, то помогите пожалуйста, если нет то ... |
| Автор: Akina 19.5.2011, 11:20 |
Я не знаю задачи. Вы её сформулировать однозначно до сих пор не удосужились. Хотя я уже перестал просить Вас сделать это в форме вежливой, и начал - в грубой. Если формулировки задачи так и не последует - ждите того, кто согласен гадать на кофейной гуще и предлагать варианты в надежде, что один из них окажется тем, что нужен. |
| Автор: Serebrus 19.5.2011, 12:01 |
| А что имеено Вам не понятно, мне надо список тех людей, кто одновременно купил и товар1, товар2,... В программе список всех товаров (в CheckListBox), вы выбираете хотя бы один товар, а программа должна вам дать список, кто купил выбранный или выбранные вами товары. |
| Автор: Akina 19.5.2011, 14:58 | ||||||||||||
О! уже лучше... Рассказываю по шагам. Вариант первый, тривиальный. Берём и получаем список тех, кто покупал товар t_id=2
Анальногично тех, кто покупал товар t_id=4
Теперь выбираем тех, кто фигурирует и в том, и в другом списке
Или более сложный, но и более универсальный, вариант логики: Выбираем всех, кто покупал товары 2 или 4
Выбираем тех, кто в полученном списке фигурирует дважды
|
| Автор: Zloxa 19.5.2011, 15:05 | ||||
|
| Автор: Akina 19.5.2011, 15:13 |
| ВНИМАНИЕ! код в http://forum.vingrad.ru/index.php?showtopic=329772&view=findpost&p=2349057 исправлен! Zloxa, ты фактически выполнил работу парсера и оптимизатора |