簡體   English   中英

SQLite返回錯誤的數據

[英]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.

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