根据另一个表中的条件显示表中的列
Posted
技术标签:
【中文标题】根据另一个表中的条件显示表中的列【英文标题】:Display column from a table based on a condition from another table 【发布时间】:2018-09-10 12:54:33 【问题描述】:有 2 个表联系人和客户。
**Contact Table**
id(primary key)
org_name
city
state
email
**Customer Table**
id(primary key)
created_under_id
contact_id
notes
credit_limit
需要一个查询来显示所有信用额度超过25000的客户的org_name、city、state和email。根据他们的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】:您可以在子查询中将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.ID
和 Customer.contact_id
是用于构建表之间关系的常用列。
【讨论】:
以上是关于根据另一个表中的条件显示表中的列的主要内容,如果未能解决你的问题,请参考以下文章