我有两个表如何从SQLite和排序数据
收入
费用
问题的两个表数据我想查询所有的数据fr OM两个表
SELECT income.date AS IN_DATE, expense.date AS EX_DATE FROM income, expense
我得到奇怪的结果数据是双次从数据库中,你可以看到
你可以试试这个HERE
我怎么能得到不同的结果不双和最后想问不知道从两个表中获取数据,并按日期降序排序。
我有两个表如何从SQLite和排序数据
收入
费用
问题的两个表数据我想查询所有的数据fr OM两个表
SELECT income.date AS IN_DATE, expense.date AS EX_DATE FROM income, expense
我得到奇怪的结果数据是双次从数据库中,你可以看到
你可以试试这个HERE
我怎么能得到不同的结果不双和最后想问不知道从两个表中获取数据,并按日期降序排序。
我的猜测是,你想union all
:
select 'income' as which, id, title, date
from income
union all
select 'expense' as which, id, title, date
from expense;
这会给你包含来自两个表行的结果集,与表的每一行来自一个标识符。
您可以按日期排序,并做其他操作,如果你使用子查询:
select ie.*
from (select 'income' as which, id, title, date
from income
union all
select 'expense' as which, id, title, date
from expense
) ie
order by date desc;
OK它工作正常,一堆_thanks_ –
您需要匹配相同的ID,否则SQL将只输出任何可能的组合。
SELECT income.date AS IN_DATE, expense.date AS EX_DATE FROM income, expense WHERE income.id LIKE expense.id
请你想在https://sqliteonline.com上创建一个小提琴 –
我在SQLite上做过,但后来我把“WHERE”改成了大写字母,并且忘了E- – Xerus
你简单SELECT
确实与两列(IN_DATE, EX_DATE
)积。因此,您可以从两列中获得各种可能的组合值。 INNER JOIN income ON expense.id=income.id
或WHERE income.id == expense.id
应该这样做。
查询来自两个表的数据 - 如何?你是什么意思?你正在做两个交叉连接,这就是为什么你要重复的结果。你想要一个联盟吗? – GurV