SQL Server сложный запрос - выборка данных и поиск по нескольким таблицам - PullRequest
0 голосов
/ 01 декабря 2009

У меня есть две таблицы следующим образом:

<b>product category(t1):</b>
id
name
<b>product master(t2):</b>
id 
name
category

Теперь у меня есть следующий запрос, чтобы выбрать продукты и имя соответствующей категории только в одном запросе:

select 
  *,
  (select name from t1 where t1.id=t2.category) as 'category' 
from 
  t2

, который работает отлично. Теперь, что мне нужно сделать, это выполнить операции фильтра на наборе результатов. Хотелось учесть следующее:

select 
  *,
  (select name from t1 where t1.id=t2.category) as 'category' 
from 
  t2 
where 
  t2.name like '%keyword%' or 'category' like '%keyword%'

теперь это работает только тогда, когда я ввожу ключевое слово в столбце имени, но поиск не выполняется по названию категории. Есть идеи, что я делаю не так?

Кстати: я использую ASP.NET 3.5 вместе с SQL Server 2005 Express Edition.

Цените ваше время и поддержку. Большое спасибо заранее.

Ответы [ 2 ]

4 голосов
/ 01 декабря 2009

JOINS - ваш друг:)

SELECT t2.*, t1.name
FROM t2
    JOIN t1 ON t2.category = t1.id
WHERE t2.name LIKE '%keyword%'
     OR t1.name LIKE '%keyword%'
0 голосов
/ 04 марта 2013

Вы можете попробовать это:

SELECT t2.*, t1.name
FROM t2,
     t1 ON t2.category = t1.id
WHERE t2.name LIKE '%keyword%'
     OR t1.name LIKE '%keyword%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...