Во-первых, чтобы положить вещи в контексте я пытаюсь написать поиск по SQL Server 2005. Ниже моя структура таблицыРегистрация на столах с OR (повторяющимися данными) - SQL Server 2005
Schema1.Table1
GUID
1
2
3
Schema2.Table2
GUID MAINTITLE
1 Water Monkies
2 Water Doggies
Schema3.Table3
GUID MAINTITLE
3 Water Hyrdas
Ожидаемое поведение является то, что пользователь будет искать «Вода», и мне нужно получить все GUID в Schema1.Table1 соответствует им с записями в Schema2.Table2 и Schema3.Table3, где GUID в списке И MAINTITLE, например «% WATER%»
I должны достичь этого, используя JOINS.
Что я сделал до сих пор:
select Schema1.Table1.GUID
from Schema1.Table1 JOIN Schema2.Table2 ON Schema1.Table1.GUID = Schema2.Table2.GUID
JOIN Schema3.Table3 ON Schema1.Table1.GUID = Schema3.Table3.GUID
но это возвращает результат, который не объединяются операцией И. дает мне никаких результатов
я попытался
select distinct Schema1.Table1.GUID
from Schema1.Table1, Schema2.Table2, Schema3.Table3
where (Schema2.Table2.GUID=Schema1.Table1.GUID OR Schema3.Table3.GUID=Schema1.Table1.GUID
) AND (Schema2.Table2.MAINTITLE like '%water%' OR Schema3.Table3.MAINTITLE like '%water%')
, но так как это является подразумеваемым соединением, он возвращает все строки таблицы2, где maintitle table3s подобен воде.
Могу ли я найти какую-нибудь помощь?
Вашего КОТА «ненавидит накидные запросы»? Время для новой работы. – 2010-12-03 07:12:11