Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 选择(外键)表中没有对应行的行_Android_Sqlite - Fatal编程技术网

Android 选择(外键)表中没有对应行的行

Android 选择(外键)表中没有对应行的行,android,sqlite,Android,Sqlite,我有两个表,分别是Customers和Orders,主键是Customer.CustomerID,外键是Order.CustomerID我想选择所有没有在Android Sqlite中下订单的客户这是我的查询 select * from Customer where not exists (select * from Customer inner join Order on Customer.CustomerID = Order.CustomserID ) 但它不工作,返回0行 您的子查询不

我有两个表,分别是Customers和Orders,主键是Customer.CustomerID,外键是Order.CustomerID我想选择所有没有在Android Sqlite中下订单的客户这是我的查询

select * from Customer where not exists (select * from Customer  inner join Order on Customer.CustomerID = Order.CustomserID )
但它不工作,返回0行

您的子查询不是a,即与外部查询没有关系。 (内部
Customer
表与外部表完全独立。) 只要数据库中存在任何记录,exists子句对于外部
Customer
表中的每个记录都是真的

您要检查一个特定的
客户
记录是否有匹配的订单:

SELECT *
FROM Customer
WHERE NOT EXISTS (SELECT 1
                  FROM Order
                  WHERE CustomerID = Customer.CustomerID)
或者,对这两个表进行检查,并检查哪些客户没有获得匹配的订单:

SELECT Customer.*
FROM Customer
LEFT JOIN Order USING (CustomerID)
WHERE Order.OrderID IS NULL
或者,只需获取订单表之外的所有客户:

SELECT *
FROM Customer
WHERE CustomerID NOT IN (SELECT CustomerID
                         FROM Order)
另一个问题:为什么要使用(使用)我们可以像这样重写此查询
select*from plannedVisites left join CheckedVisits on plannedVisites.PvId=CheckedVisits.PvId,其中CheckedVisits.PvId为null
,它会工作得很好