我想要通过组合4个表的结果。之前我使用了4种不同的查询,为了提高性能,我从连接表和从单个表查询开始。但在性能上没有任何改善。
我后来了解到,SQLite将join语句翻译为"where子句“,我可以直接使用"Where”子句来代替join,这将节省一些CPU时间。
但"Where“子句的问题是,如果四个条件中有一个条件失败,则结果集为空。我想要一个填充了其余列(匹配其他条件)的表,并且如果一个条件失败,则不是一个空表。有什么方法可以解决这个问题吗?谢谢!
发布于 2012-08-13 13:52:53
您是否考虑过使用左外部连接?
例如
SELECT Customers.AcctNumber, Customers.Custname, catalogsales.InvoiceNo
FROM Customers
LEFT OUTER JOIN catalogsales ON Customers.Acctnumber = catalogsales.AcctNumber在本例中,如果在"catalogsales“中没有任何匹配的行,那么它仍然会返回"left”表中的数据,在本例中是"Customers“。
没有示例SQL,就很难知道您尝试过什么。
https://stackoverflow.com/questions/10387937
复制相似问题