PostgreSQL — запрос 3 таблиц

У меня есть 3 таблицы: Table1, Table2, Table3 Как показано ниже:

введите здесь описание изображения

Я буду фильтровать Table3 на основе поля Value. Пример:

Ввод: ххх

Вывод показан ниже:
Вывод должен основываться на ID1 таблицы 1.

введите здесь описание изображения

Я запрашиваю, используя ниже SQL-запрос:

SELECT id, 
       id1, 
       id2, 
       value 
FROM   table1, 
       table2, 
       table3 
WHERE  ( table1.id1 = table3.id1 
         AND table2.id2 = table3.id2 ) 
       AND ( table3.value LIKE ? 
              OR table3.value ~ '[0-9]' )

Пожалуйста, дайте мне запрос SQL для этого.


person ANK    schedule 31.08.2017    source источник
comment
Как выглядят ваши Table1, Table2? Потому что ваш фрагмент кода запуска для 3 таблиц ничего не показывает.   -  person Mister X    schedule 31.08.2017
comment
Вы можете видеть сейчас! Он показывает все 3 таблицы.   -  person ANK    schedule 31.08.2017


Ответы (1)


Пожалуйста, найдите запрос SQL:

select
table3.id, table3.id1, table3.id2, table3.value
from table3 
left join table1 on table3.id1=table1.id1
where
table1.id1 in (SELECT table3.id1 from table3 where table3.value="xxx")

Надеюсь, это сработает для вас :)

person Sukesh Bolar    schedule 01.09.2017