0

我正在开发一个使用 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;

我究竟做错了什么?

4

1 回答 1

1

尝试使用 IN 语句检查 articleId 是否存在于一个表中并且不存在于另一个表中

SELECT articleId, description
FROM Articles
WHERE articleId IN (SELECT articleId FROM OrdeArticle) AND
articleId NOT IN (SELECT articleId FROM EReportArticle)
于 2012-06-24T08:00:13.527 回答