| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > SQL-запрос (выборка из 3-х таблиц) |
| Автор: stron 17.4.2005, 09:47 |
| Чего-то никак не могу придумать запрос 3 таблицы: Table1: table1_id table1_data Table2: table2_id table1_id table3_id Table3: table3_id table3_data Короче, связываем данные из 2-х таблиц(Table1 и Table3) через третью Много ко многим. Вопрос: как выбрать table1_data у которых есть несколько table3_data (проще говоря поиск по нескольким значениям) |
| Автор: Kurt 17.4.2005, 13:01 | ||||
| Немножко не понял, что ты хочешь. Вот, например, запрос, к-й вернет список table1_data и соотв. table3_data.
Ну, а если тебе нужны только table1_data, для которых существуют данные из table3, то так:
А вообще, поясни задачу. |
| Автор: stron 17.4.2005, 15:07 |
| Пример: Table1: 1 Вася Пупкин 2 Крендель 3 Хрюндель Table2: 1 1(Вася Пупкин) 1(Хороший) 2 1(Вася Пупкин) 3(Гнус) 3 2(Крендель) 1(Хороший) 4 2(Крендель) 2(Умный) 5 2(Крендель) 4(Ворчун) 6 3(Хрюндель) 4(Ворчун) 7 3(Хрюндель) 2(Умный) Table3: 1 Хороший 2 Умный 3 Гнус 4 Ворчун Так вот, надо выбрать умных ворчунов |
| Автор: Kesh 17.4.2005, 15:15 | ||
По-моему что-то вроде этого... Добавлено @ 15:16 Нет... не так... сейчас еще подумаю... |
| Автор: Kesh 17.4.2005, 15:29 | ||
Запрос скореее всего неправильный... так как писал из головы и не проверял... но идея такова... Делать Join по параметру... и проверять есть ли он (если его нет - то null) |
| Автор: stron 17.4.2005, 18:39 | ||
Всё оказалось проще:
Всем спасибо!! |
| Автор: Kesh 17.4.2005, 19:30 | ||
stron ИМХО надо еще
|
| Автор: stron 17.4.2005, 21:01 |
| нет, там всё хорошо дополнительная проверка круто искаверкает рез-ты |
| Автор: Kesh 17.4.2005, 23:25 |
| stron Ах, ну да точно... |