Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
30 / 29 / 18
Регистрация: 19.12.2012
Сообщений: 144
Записей в блоге: 1

Поиск по двум таблицам

12.02.2014, 16:09. Показов 5950. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем, есть 2 таблицы - Authors и Books, для простоты скажем, что у обеих есть поля ID (bigint), Name и Genre (nchar(50)). Мне нужно реализовать поиск по двум таблицам из программы, но в SQL я новичок и не могу даже сформировать толком запрос, не то что написать. То есть пишем в textBox "A", сабмитим и должен выполняться поиск всего, что содержит "%A%" в обеих таблицах.

P.S. Код для работы с бд я сам напишу, помогите написать SQL-запрос.

Добавлено через 11 минут
Вот то что пытаюсь написать:

T-SQL
1
2
3
USE MyTestDB
SELECT AuthorName, Authors.Genre, Books.Name,Books.Genre FROM Authors
JOIN Books ON FREETEXT(*,'%k%')
Говорит что FREETEXT может работать только с одним тейблом или вьюхой.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.02.2014, 16:09
Ответы с готовыми решениями:

Запрос по двум таблицам
Здравствуйте, помогите пожалуйста составить запрос по двум таблицам, у них одинаковые (Id,name,number) и вычесть одинаковые name и...

SQL запрос по двум таблицам
Помогите пжлста... есть две таблицы: Tabl1 ID| Point1 1| 5 1| 5 2| 3 2| 4 2| 7 и Tabl2

Запрос к двум таблицам в Mysql
Здравствуйте! Подскажите, пожалуйста, как можно написать запрос, чтобы выбиралось сначала из одной таблицы id по условию, а потом...

9
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
12.02.2014, 16:44
Цитата Сообщение от Iwillbeagod Посмотреть сообщение
В общем, есть 2 таблицы - Authors и Books, для простоты скажем, что у обеих есть поля ID (bigint), Name и Genre (nchar(50)). Мне нужно реализовать поиск по двум таблицам из программы, но в SQL я новичок и не могу даже сформировать толком запрос, не то что написать. То есть пишем в textBox "A", сабмитим и должен выполняться поиск всего, что содержит "%A%" в обеих таблицах.

P.S. Код для работы с бд я сам напишу, помогите написать SQL-запрос.

Добавлено через 11 минут
Вот то что пытаюсь написать:

T-SQL
1
2
3
USE MyTestDB
SELECT AuthorName, Authors.Genre, Books.Name,Books.Genre FROM Authors
JOIN Books ON FREETEXT(*,'%k%')
Говорит что FREETEXT может работать только с одним тейблом или вьюхой.
Ну, авторы и книги по какому-то полю связаны между собой?
Почему же их связь выражается каким-то FREETEXT(*,'%k%')?
Странно.
0
30 / 29 / 18
Регистрация: 19.12.2012
Сообщений: 144
Записей в блоге: 1
12.02.2014, 16:58  [ТС]
Cвязаны по полю ID у авторов и Auhtor у книжек. Теперь пробую так :

T-SQL
1
2
3
USE MyTestDB
SELECT Authors.Name, Authors.Genre FROM Authors
INNER JOIN FREETEXTTABLE(Books,*,'k%') ON Authors.ID = Books.[Author]
Говорит, что не знает столбца Author (хотя достоверно известно, что он существует). А если пытаюсь в SELECT дописать что-то из Books, говорит, что тоже такого не знает. Я в упор не понимаю как адекватно связать таблицы между собой.
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
12.02.2014, 17:16
T-SQL
1
2
SELECT A.Name, A.Genre
FROM Authors A JOIN Books B ON A.ID=B.[Author];
0
30 / 29 / 18
Регистрация: 19.12.2012
Сообщений: 144
Записей в блоге: 1
12.02.2014, 17:21  [ТС]
Cпасибо, но такое я и сам умею. А вот как для каждой провести поиск и объеденить результат?
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
12.02.2014, 17:31
Цитата Сообщение от Iwillbeagod Посмотреть сообщение
Cпасибо, но такое я и сам умею.
Чего-то не заметил.
T-SQL
1
2
3
SELECT A.Name, A.Genre
FROM Authors A JOIN Books B ON A.ID=B.[Author]
WHERE A.Name LIKE '%A%' OR A.Genre LIKE '%A%' OR B.Name LIKE '%A%' OR B.Genre LIKE '%A%';
T-SQL
1
2
3
SELECT A.Name, A.Genre
FROM Authors A JOIN Books B ON A.ID=B.[Author]
WHERE A.Name+A.Genre+B.Name+B.Genre LIKE '%A%';
1
30 / 29 / 18
Регистрация: 19.12.2012
Сообщений: 144
Записей в блоге: 1
12.02.2014, 17:31  [ТС]
В общем, разобрался. Вот решение:

T-SQL
1
2
3
4
USE MyTestDB
SELECT Authors.Name, Authors.Genre, Books.Name FROM Authors
JOIN Books ON Authors.ID = Books.Author
WHERE (Authors.Name LIKE 'k%' OR Authors.Genre LIKE 'k%' OR Books.Name LIKE 'k%')
И напрасно я заморачивался с этими FULLTEXT и пр.
0
26 / 26 / 10
Регистрация: 22.12.2013
Сообщений: 153
12.02.2014, 17:47
Цитата Сообщение от Iwillbeagod Посмотреть сообщение
В общем, разобрался. Вот решение:
И чем же оно отличается от предложенного iap?
0
30 / 29 / 18
Регистрация: 19.12.2012
Сообщений: 144
Записей в блоге: 1
12.02.2014, 17:52  [ТС]
Ничем, мы синхронно написали.

Добавлено через 58 секунд
А вот за вариант со сложением отдельное ему спасибо, про такое не знал.
0
26 / 26 / 10
Регистрация: 22.12.2013
Сообщений: 153
12.02.2014, 17:56
LIKE за скобками Классе в 5-ом учили упрощать выражения
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2014, 17:56
Помогаю со студенческими работами здесь

Посчитать количество дней SQL запрос к двум таблицам
Добрый день уважаемые знатоки. Нужна ваша помощь. Пишу запрос и никак не могу сообразить следующее: Нужно написать запрос который выдаст...

Как посчитать средний балл набранный каждым курсом по двум таблицам?
Всем привет! Есть две таблицы: 1. STUDENT - в ней находятся столбцы STUDENT_ID, KURS 2. EXAM_MARKS - она содержит STUDENT_ID и...

SQL запрос к двум таблицам с подменой данных по ID
Всем привет, пытаюсь написать приложение на C#, которое будет обрабатывать данные из готовой базы. Не могу придумать, как правильно...

Поиск по двум таблицам
Здравствуйте, очень нужна ваша помощь. У меня проблема с поиском по двум таблицам. Дело в том, что сам поиск работает, но почему-то не...

Поиск по двум таблицам
Как произвести поиск по двум таблицам, которые не связанны между собой. Формулировка запроса: Вывести название определенных лекарств. У...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru