2010-05-16 2 views
0

Вот мой сценарийПомощь в составлении запросов SQL

Таблица 1: GID || Info1

Таблица 2: GID || Tb1GID (относится к GID таблицы 1) || Info2

Таблица 3: GID || Info3

Таблица 4: GID || Tb2GID (относится к GID из Table2 || Tb3GID (относится к Table3 GID || Значение

Теперь я должен построить запрос SQL, чтобы получить значение, учитывая особенности Info1, info2, info3. По существу , Я должен получить GID таблицы 1, используя info1, GID таблицы to, путем сопоставления информации2 и GID таблицы 1. И затем получить GID таблицы 3, используя информацию 3. И объединить их с GID, чтобы получить значение в ? таблица 4.

Что является наиболее оптимальным способом построения запроса SQL для этого

+1

Какие вопросы вы получили до сих пор? – Oded

ответ

2

Просто присоединиться к таблицам по идентификатору: s и соответствовать значениям Информация в состоянии:

select 
    t4.Value 
from 
    [Table 1] as t1 
    inner join [Table 2] as t2 on t2.Tb1GID = t1.GID 
    inner join [Table 4] as t4 on t4.Tb2GID = t2.GID 
    inner join [Table 3] as t3 on t3.GID = t4.Tb3GID 
where 
    t1.Info1 = @Info1 and 
    t2.Info2 = @Info2 and 
    t3.Info3 = @Info3 

Это общается наиболее ясно, каким образом работа отношений, давая планировщик запросов лучшую информацию для работы.

+1

Вы также можете переместить предложения WHERE для 't2' и' t3' в соответствующие JOIN. –

Смежные вопросы