0

SQLite 3 を使用する Android 3.1 タブレット アプリケーションを開発しています。

次の 3 つのテーブルがあります。

| 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

articleId が 1 つのテーブルに存在し、別のテーブルには存在しないかどうかを確認するには、IN ステートメントを使用してみてください。

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 に答える