2014-09-04 5 views
0

это упрощенная версия проблема у меня,Выбор записей из одной таблицы на основе записей из другой таблицы

У меня есть две таблицы:

Table1 has two columns (Stuff, YesNo) and 
Table2 has one column (Stuff) 

записи в YESNO столбец либо 1 или 0

Как я мог выбрать записи в Table2, где записи в Table1.YesNo = 1

Большое спасибо

+0

Начните с чтения о присоединяется: http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/ Второй Определить, как таблицы связаны. Столбец STUFF в таблице 1 такой же, как в таблице2? Связаны ли таблицы с отношением первичного/внешнего ключа? – xQbert

ответ

0

Если я вас правильно понял, что это будет ваше решение:

Select Stuff From Table2 
Where Exists (
    Select 'Y' 
    From Table1 
    Where Table1.Stuff = Table2.Stuff 
    And YesNo = 1 
) 
1
SELECT Table2.* 
FROM Table2 
INNER JOIN Table1 ON Table1.Stuff = Table2.Stuff 
WHERE Table1.YesNo = 1 
0

Как я полагаю, вам нужны данные из обеих таблиц, и вы можете оказать поля, уникальные для каждой таблицы Это походит вероятный ответ. Однако, поскольку я не считаю, что STUFF точно отражает отношения ... вам нужно количественно/скорректировать on a.stuff = b.stuff, чтобы соединение включало все необходимые поля.

SELECT A.Stuff, B.Stuff, B.YesNo 
FROM table1 B 
INNER JOIN table2 A 
    on A.Stuff = B.Stuff 
WHERE B.YesNo = 1 
0
SELECT T2.* 
FROM TABLE1 T1 
      JOIN TABLE2 T2 
       ON T1.Stuff = T2.Stuff 
WHERE T1.YesNo = 1 
Смежные вопросы