选择表中但不在第二个表中的文章

时间:2012-06-24 07:56:23

标签: android sqlite

我正在开发一个使用SQLite 3的Android 3.1平板电脑应用程序。

我有这三个表:

| Articles    |
+-------------+
| articleId   |
+-------------+
| description |
+-------------+


| OrdeArticle |
+-------------+
| orderId     |
+-------------+
| articleId   |
+-------------+


| EReportArticle |
+----------------+
| eReportId      |
+----------------+
| articleId      |
+----------------+

我想选择OrdeArticle表上但不在EReportArticle表上的所有文章。

这是我的无效 SQL语句:

SELECT 
   Article.articleId,
   Article.description
FROM
   Article,
   OrdeArticle,
   EReportArticle
WHERE
   OrdeArticle.orderId = ? AND 
   Article.articleId = OrdeArticle.articleId AND
   EReportArticle.eReportId = ? AND
   Article.articleId != EReportArticle.articleId;

我做错了什么?

1 个答案:

答案 0 :(得分:1)

尝试使用IN语句检查一个表中是否存在articleId而另一个表中是否存在

SELECT articleId, description
FROM Articles
WHERE articleId IN (SELECT articleId FROM OrdeArticle) AND
articleId NOT IN (SELECT articleId FROM EReportArticle)