基于另一个表中的条目进行MYSQL选择查询

7
我在MySql中是一个完全的初学者,以下是这两个表的基础构成:
Table 1 id,product_id, product_name Table 2 id,product_id,active 现在我知道如何从一个表中查询结果,但当涉及到两个表时,我就不知所措了。我不确定是否必须使用内部连接、左连接等。那么,如果在表2中活动的话,我该如何仅返回表1中的product_id结果呢?

同时给你接受的答案点赞。这是一种礼貌的方式来表示感谢。 - taxeeta
2个回答

6
你可以使用JOIN(如Fosco所指出的),但在WHERE子句中也可以做同样的事情。我注意到这是一种比JOIN更直观的方法,特别适合正在学习SQL的人。此查询根据product_id连接两个表,并返回那些处于活动状态的产品。我假设“active”是布尔类型。
SELECT t1.*
FROM Table1 t1, Table2 t2
WHERE t1.product_id = t2.product_id AND t2.active = TRUE

W3Schools有一份很好的基础级别的JOIN教程,涵盖了不同类型的JOIN。请参见INNER JOINLEFT JOINRIGHT JOINFULL JOIN


4
加入两个表格非常简单:
select t1.* 
from Table1 t1
join Table2 t2 on t1.product_id = t2.product_id
where t2.active = 'Y'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接