[英]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 NULL
或EXISTS(...)
返回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.