簡體   English   中英

Android SQLite從一個表中獲取基於另一個表的記錄

[英]Android SQLite getting records from one table based on another

如果是一個重復的問題,請原諒。 我試着在這里和谷歌搜索,但我無法找到我想要的東西。

我有兩張桌子A和B.
表A字段:id,名稱,描述,評級。
表B字段:id,aId(鏈接到表A),customerId,推薦。

表A包含我的數據項,我存儲的是用戶提供的平均累積評級。 表B存儲表A數據的另一個屬性。它存儲推薦位(推薦值為1,非推薦值為0)。

我想列出表A中的所有數據,但我想使用表B中的推薦位對它們進行排序。因此,如果表A中有10條記錄,表B中有2條記錄,則列出所有這10條記錄時,兩條來自表B應首先出現,然后是表A中的其他表。建議的比特值是0還是1.無關緊要。列出表A中的其他8個記錄時,我想根據評級列出記錄按降序排列。

有人可以指導我為Android應用程序編寫這個sqlite查詢嗎? 提前致謝!

左連接將recommended字段添加到結果集中(如果沒有匹配的B記錄,則值為NULL )。 recommended IS NULL的表達式recommended IS NULLEXISTS(...)返回0或1:

SELECT DISTINCT A.*
FROM A LEFT JOIN B ON A.id = B.aId
ORDER BY B.recommended IS NULL,
         A.rating DESC

或者:

SELECT *
FROM A
ORDER BY NOT EXISTS (SELECT 1
                     FROM B
                     WHERE B.aId = A.id),
         rating DESC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM