sql语句求问?

数据表Buy,属性分别是产品product,部门department,时间time,那么“ 2014年销售部购买但是其他部门没有购买的产品 ”sql语句怎么写,我思考了半天,实在是想不出来。

阅读 2.4k
3 个回答

SELECT * FROM Buy WHERE id not in(SELECT id where department != 'sell' and ? > time > ?) where ? > time > ? and department = 'sell';

select distinct product from buy where department = '销售部' and left(convert(varchar(10),time,120),4) = '2014' and
not exists(select distinct product from where department != '销售部' and left(convert(varchar(10),time,120),4) = '2014')
这个是sql server的写法,不确定mysql是不是一样的语法,如果上面的函数用法不一样,百度一下就可以了

--你没有表明部门department是什么类型,我这里默认为int型,销售部department=5
SELECT DISTINCT product FROM [Buy] 

WHERE department=5 AND time=2018 AND Title NOT IN
                                                (
                                                   SELECT DISTINCT product FROM [Buy] WHERE department<>5 AND time=2018
                                                )
--如果数据类型对不上转化一下就行了
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题