;WITH CTE AS(
SELECT * FROM 学生表,课程表
)
SELECT A.* FROM CTE A LEFT JOIN 选课表 B ON A.sno=B.sno WHERE B.sno IS NULL应该类似这样~~

解决方案 »

  1.   

    少了个连接条件~~
    ;WITH CTE AS(
    SELECT * FROM 学生表,课程表
    )
    SELECT A.* FROM CTE A LEFT JOIN 选课表 B ON A.sno=B.sno AND A.cno=b.cno WHERE B.sno IS NULL
      

  2.   

    這是一種方法with cte as
    (
    select * from 学生表,课程表
    )
    select a.* from cte as a left join 选课表 as b on a.sno=b.sno and a.cno=b.cno  where b.cno is null
      

  3.   

    大牛,“;WITH CTE AS”是什么意思啊
      

  4.   

    如果你的sql server是sql server 2000,直接將語句改為下面的sqlselect a.* from 
    (select * from 学生表,课程表) as a 
    left join 选课表 as b 
    on a.sno=b.sno and a.cno=b.cno  
    where b.cno is null
      

  5.   

    SQL2000 就用 #9 的派生表嵌套代替