Отображение столбца из таблицы на основе условия из другой таблицы - PullRequest
0 голосов
/ 10 сентября 2018

2 контактных стола и клиент.

**Contact Table**                          
id(primary key)   
org_name                                   
city                                       
state                                     
email 

**Customer Table**   
id(primary key)                                 
created_under_id  
contact_id  
notes  
credit_limit

Требуется запрос для отображения org_name, города, штата и электронной почты всех клиентов с кредитным лимитом более 25000. Отображать записи в порядке возрастания на основе их org_name.

Я пробовал этот запрос, но он не работает:

SELECT org_name,city,state,email FROM contact  
    WHERE contact.id IN (SELECT customer.id FROM customer  
                  WHERE credit_limit >25000)ORDER BY org_name ASC;

1 Ответ

0 голосов
/ 10 сентября 2018

Вы можете заменить customer.id на customer.contact_id в подзапросе.

Или, в качестве альтернативы, вы можете использовать оператор JOIN между этими таблицами как:

SELECT c.org_name, c.city, c.state, c.email
  FROM contact c
  LEFT OUTER JOIN customer r
    ON ( c.id = r.contact_id )
 WHERE r.credit_limit > 25000
 ORDER BY c.org_name ASC;

т.е. Contact.IDCustomer.contact_id - это общие столбцы для построения отношений между таблицами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...