如何根据另一个表中的公共id值选择一个表中的记录?

时间:2013-06-21 19:41:49

标签: php mysql

我试图根据ca_list_item_labels和ca_list_items之间的公共字段(item_id)返回表ca_list_item_labels中的“description”字段,其中list_id = 41 in ca_list_items。

我能管理的最接近的事情是使用子查询......我对编写mySQL查询还不错。

我尝试了以下两个查询但没有成功:

    SELECT description FROM ca_list_item_labels UNION SELECT * FROM ca_list_items WHERE 'list_id' = 41;

    SELECT description FROM ca_list_item_labels WHERE (SELECT item_id FROM ca_list_items WHERE 'list_id' = 41);

2 个答案:

答案 0 :(得分:1)

您应该可以通过简单的连接来实现。这样的事情应该有效:

   SELECT decsription 
   FROM ca_list_item_labels JOIN ca_list_items USING (item_id) 
   WHERE list_id = 41

答案 1 :(得分:1)

您可以使用JOIN-query

SELECT a.*, b.description FROM ca_list_items AS a
                          LEFT JOIN ca_list_item_labels AS b 
                          ON a.list_id = b.list_id
                          WHERE a.list_id = 41      

假设这里两个表的list_id相同。