2013-06-21 46 views
0

我想根據ca_list_item_labels和ca_list_items之間的一個公共字段(item_id)返回ca_list_item_labels表中的「description」字段,其中list_id = 41在ca_list_items中。如何根據來自另一個表的公共id值在一個表中選擇記錄?

我可以管理的最接近的東西是一個子查詢...我對編寫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); 
+1

我認爲你可以嘗試使用連接,但是,這將是很好,你發佈數據庫計劃在這裏,與少數測試條目和所需的輸出。或者,甚至更好 - 安裝sqlfiddle:http://www.sqlfiddle.com/ – sinisake

回答

1

你應該能夠做到這一點與一個簡單連接。像這樣的東西應該工作:

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

不可能說爲什麼不知道更多關於表格。如上所述,一個sqlfiddle示例或只是發佈架構會有所幫助。 –

+0

對不起,問題出在鍵盤和椅子之間。得到她的咕嚕聲,並排除我不想在那裏的情侶記錄。感謝您的正確方向。加盟很酷! –

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是兩個表上相同的。

相關問題