[英]SQLite returning wrong data
我有22行數據。 但是運行此查詢后
select
AUTHORS_ABSTRACT.ABSTRACTSITEM_ID,
ABSTRACT_AFFILIATION.AFFILIATION_NUMBER,
AUTHORS_AFFILIATE.ABSTRACTAUTHOR_ID
from
ABSTRACT_AFFILIATION,
AUTHORS_AFFILIATE,
AUTHORS_ABSTRACT
where ABSTRACT_AFFILIATION._id = AUTHORS_AFFILIATE.ABSTRACTAFFILIATION_ID
and AUTHORS_ABSTRACT.ABSTRACTAUTHOR_ID = AUTHORS_AFFILIATE.ABSTRACTAUTHOR_ID
ORDER BY AUTHORS_ABSTRACT.ABSTRACTSITEM_ID ASC
如果需要.db
文件,這是我的db 文件 。 因此,運行此查詢后,我得到36行數據。
所以,我的問題是為什么它返回36行,甚至數據庫中也存在22行數據。
您要連接的表各有22行。 並且您正在其上運行的join
查詢將具有22^3
行,其中36行最終滿足查詢條件。
結果沒錯。
試試這個
select AUTHORS_ABSTRACT.ABSTRACTSITEM_ID,
ABSTRACT_AFFILIATION.AFFILIATION_NUMBER,
AUTHORS_AFFILIATE.ABSTRACTAUTHOR_ID
from AUTHORS_ABSTRACT
left join ABSTRACT_AFFILIATION on AUTHORS_ABSTRACT.ABSTRACTAUTHOR_ID = ABSTRACT_AFFILIATION._id
left join AUTHORS_AFFILIATE on ABSTRACT_AFFILIATION._id=AUTHORS_AFFILIATE.ABSTRACTAFFILIATION_ID
ORDER BY AUTHORS_ABSTRACT.ABSTRACTSITEM_ID ASC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.