簡體   English   中英

SQLite-在兩個相同的表中查詢1列,其中column等於一個值

[英]Sqlite - query 1 column in two identical tables where column equals a value

我有兩個完全相同的表(month1,month2),並且試圖從兩個表中查找task1_done = 1的所有記錄。我想要該集中的最后一行(為此我將光標移到最后)。 我玩過內部外部自然連接,但似乎無法獲得month2值。 這是我所擁有的:

字符串查詢=“ SELECT m1.columnA,m1.columnB,m1.columnC,m1.columnD,m1.columnE,m1.columnF FROM month1 m1,month2 m2 WHERE m1.task1_done = 1 OR m2.task1_done = 1”;

任何幫助將是巨大的!

我認為您想為該查詢union all合並:

select m.*
from (select *
      from months1
      union all
      select *
      from months2
     ) m
where task1_done = 1;

注意:我使用*是為了方便,因為您說兩個表具有相同的結構。 您實際上應該列出兩個表中所需的列。

通常,具有兩個具有相同布局的表表明數據庫設計不佳。 通常最好有一個更大的表,並用另一列標識“ month1”或“ month2”。

編輯:

SQL表沒有“最后”值。 如果您有一個ID或時間戳列可用於訂購,則可以執行以下操作:

select m.*
from (select *
      from months1
      union all
      select *
      from months2
     ) m
where task1_done = 1
order by id desc
limit 1;

這些表是否相關或有任何參考? 如果沒有,您可以有單獨的聲明並進行合並

select top 1 column1, column2.. from month1 WHERE task1_done = 1 order by IdentityColumn Desc
union 
select top 1 column1, column2.. from month2 WHERE task1_done = 1 order by IdentityColumn Desc

暫無
暫無

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

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