2010-08-08 73 views
1

假設我有一個名爲box,item和box_contents的表的數據庫,並且我想獲取box_content表中包含的任何項目(所有項目,但放棄不在box_contents表格中的項目)。什麼是這個正確的sqllite語法?Android Sqlite聲明問題

+0

注:這是一個非常基本的SQL /查詢問題。我建議在繼續您的項目之前瞭解更多關於SQL /數據庫查詢的知識,除非您的需求非常短暫。否則,你會在桌子或Android手機上砸你的頭,導致頭部或手機長期受損。這兩者都不好。 :) – 2010-08-08 17:30:45

+0

我對連接相當熟悉,但我知道Android不支持正確和完整的連接。所以我想確保在Android中沒有特殊的方法。 – shaneburgess 2010-08-08 17:35:56

+0

根據你的英文問題,Alex Martelli或我應該是對的。除非你發佈實際的代碼,否則我認爲你不會得到太多的幫助。 – 2010-08-08 17:39:17

回答

1

取決於你的模式,也就是說,你的「box_content」表是如何表示它「包含」某個項目。例如,如果由一個具有塔「項目Id」這是一個國外的參照「項」表的主鍵「ID」,那麼這樣做

SELECT item.* 
FROM item 
JOIN box_content ON (box_content.ItemId = item.Id) 

會工作得很好(假設你的意思是你說的到底是什麼,也就是說,你希望在「box_content」表中包含任意位置的項目,並且提到另一個表「box」實際上完全不相關)。但是,如果你的模式是完全不同的(或者你實際想要做的與你所說的完全不同),那麼當然所需的SQL也是如此。如何編輯您的Q以顯示CREATE TABLE聲明和(如果需要)與他們有關的任何評論......?

0

你會想在兩張表之間做所謂的join

你會碰到這樣的:

SELECT (item_columns) 
FROM item i JOIN box_contents bc ON i.item_id = bc.item_id