Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Поиск совпадающих значений в столбцах


Автор: swetik1981 31.7.2009, 23:47
В БД имеется три таблицы : A, B, C, в каждой из которых всего по одному полю с именем F 
В столбцах содержатся различные значения (скажем, цифровые), причём в каждом отдельном столбце они не повторяются, но могут совпадать со значениями в других столбцах. 
Как составить запрос, чтобы получить таблицу результатов из трёх столбцов (А1, B1, C1), в каждом из которых останутся лишь те значения из соответствующих таблиц, которые имеют хотя бы одну пару в других столбцах. 

Для того, чтобы было понятнее: 

Имеется три таблицы с одним полем в каждой: 
А.F       B.F        C.F 
123      116       89 
176      134       110 
238      176       123 
293      215       150 
389      370       176 
395      478       289 
478      490       490 
567      511       558 



Должно получиться: 
A1       B1     C1 
123    176    123 
176    478    176 
478    490    490 



Автор: Akina 2.8.2009, 18:44
Ну полнейший бред. 

Давай настоящую задачу, а не эту... модель.

Автор: sawtooth 3.8.2009, 09:55
Код

SELECT tab1.F AS A1, tab2.F AS B1, tab3.F AS C1
FROM A AS tab1
LEFT JOIN B AS tab2 ON tab1.F=tab2.F
LEFT JOIN C AS tab3 ON tab1.F=tab3.F
LEFT JOIN C AS tab4 ON tab2.F=tab4.F
WHERE (tab1.F=tab2.F) OR (tab1.F=tab3.F) OR (tab2.F=tab4.F)

Как-то так наверное.

Автор: judarical 29.12.2012, 07:45
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)