簡體   English   中英

如何獲得特定SQL查詢的相反結果?

[英]How to get opposite results of a specific sql query?

我有3個表,分為用戶,用戶課程和課程。

我想創建2個查詢:

  1. 一個查詢以返回特定用戶的已訂閱課程
  2. 另一個查詢以返回特定用戶的退訂課程

我完成了第一個查詢,但無法執行第二個查詢。

我試圖取消條件,並多次獲得相同的行。

SELECT 
    course.course_id,course_name,course_owner,course_date,course_time
FROM
    course, users, user_courses
WHERE 
    usershortcut = "mmuster" 
    AND user_courses.user_id = users.user_id 
    AND user_courses.course_id = course.course_id

這是第一個查詢,它給出了用戶的所有已訂閱課程,我不知道如何撤消它,因此我得到了該用戶的取消訂閱的課程。

如果您提到的查詢為您提供了已訂閱的課程,那么對於第二個查詢,您可以使用過濾條件,如下所示:

select *
from course
where course_id not in (
  SELECT course.course_id
  FROM course,users,user_courses
  WHERE usershortcut="mmuster" and user_courses.user_id = users.user_id 
  and user_courses.course_id = course.course_id
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM