日期:2014-05-18  浏览次数:20448 次

求一sql语句,大家一定要帮忙!!!!
请教一sql语句
我有一企业库表qyk
有企业名qym。企业资质qyzz等字段
企业资质主要分几类,土建,安装,供暖,水电等
有的企业有很多个资质
现在呢,想找出这样的企业
1   当企业只有安装的
2   只有土建的
3   既有安装又有土建或者安装的(就是说要有水电和其他的任意几项都可以)
怎么找?

------解决方案--------------------
说清楚
“有的企业有很多个资质”,好多资质如何表示的,是同一个qym有多条记录,还是一条记录里面qyzz字段用形如“土建,安装”表示

------解决方案--------------------
我有一企业库表qyk
有企业名qym。企业资质qyzz等字段
企业资质主要分几类,土建,安装,供暖,水电等
有的企业有很多个资质
现在呢,想找出这样的企业
1 当企业只有安装的
2 只有土建的
3 既有安装又有土建或者安装的(就是说要有水电和其他的任意几项都可以)
-------------------
1: select * from qyk where qyzz= '安装 '
2: select * from qyk where qyzz= '土建 '
3: select * from qyk where qyzz in ( '土建 ', '安装 ', '供暖 ', '水电 ')
------解决方案--------------------
从LZ的叙述来说就是普通的查询.如果是的话楼上的已经回答了
------解决方案--------------------
如果多条记录
1 当企业只有安装的
select * from qyk a where qyzz= '安装 ' and not exists (
select 1 from qyk where qym=a.qym and qyzz <> '安装 ')
2 只有土建的
select * from qyk a where qyzz= '土建 ' and not exists (
select 1 from qyk where qym=a.qym and qyzz <> '土建 ')
3 既有安装又有土建或者安装的(就是说要有水电和其他的任意几项都可以)
select * from qyk a where qyzz= '安装 ' and exists (
select 1 from qyk where qym=a.qym and qyzz <> '安装 ')

如果不是多条记录
1 当企业只有安装的
select * from qyk where qyzz= '安装 '
2 只有土建的
select * from qyk where qyzz= '土建 '
3 既有安装又有土建或者安装的(就是说要有水电和其他的任意几项都可以)
select * from qyk where qyzz <> '安装 ' and ', '+qyzz+ ', ' like '%,安装,% '


------解决方案--------------------
Haiwer(海阔天空)
老大,考慮問題好全啊
------解决方案--------------------
我比较同意海的解决办法,
select * from qyk a where qyzz= '安装 ' and not exists
(
select 1 from qyk where qym=a.qym and qyzz <> '安装 ')