SQL 查询语句,一个表中 两个字段,一个相同另一个不同

例如表中有两列字段A和BB字段只有两种状态:True和False我想查询出字段A的数据即符合True,也符合False的记录数。例如:AB1True1false2True... 例如表中有两列字段A 和 B
B字段只有两种状态:True 和 False

我想查询出 字段A的数据即 符合True,也符合False的记录数。

例如:
A B
1 True
1 false
2 True
3 True
3 True
4 False
4 false

结果为 1个
展开
 我来答
JKafeng
2009-03-09 · 超过24用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:72.7万
展开全部
SELECT count(*)
FROM [SELECT 表1.A, sum(表1.B) AS BB
FROM 表1
GROUP BY 表1.A]. AS [last]
WHERE BB=-1;

'因为True+false=-1 ,以上语句在access2003中通过。结果为1
'只是不知道1个A 会不会有很多B状态
比如
1 true
1 true
1 false
1 false

这样的话就不行了。另外提问者没有交待清楚B字段是何类型,我理解应该是Boolean型的吧。可是那个Flase一会大写,一会小写,会不会是文本型呢?提问者要告诉我们是在哪个系统中用的。不同的系统略有差异啊。
nietiezheng
推荐于2018-05-14 · TA获得超过5536个赞
知道大有可为答主
回答量:3132
采纳率:87%
帮助的人:1236万
展开全部
应该很简单呀
select count(distinct(t1.A))
from table t1, table t2
where t1.A=t2.A and t1.B !=t2.B
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2009-03-09 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885374
团长

向TA提问 私信TA
展开全部
SELECT COUNT1+COUNT2 FROM
(select A,count(*) COUNT1 from table_name where B='True' GROUP BY A) C,
(select A,count(*) COUNT2 from table_name where B='False' OR B='false' GROUP BY A) D
where C.A=D.A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tangdongNo1
2009-03-09 · TA获得超过463个赞
知道小有建树答主
回答量:391
采纳率:0%
帮助的人:110万
展开全部
1楼的回答跟我类似不过纠正下:
select distinct A from mytable where A in
(
select A from mytable where B='true '
) and A in
(
select A from mytable where B='false '
)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
131******60
2009-03-09 · TA获得超过777个赞
知道小有建树答主
回答量:409
采纳率:33%
帮助的人:258万
展开全部
select a, sum(T) as T, sum(F) as F
(select a, case b = 'True' then 1 else 0 end as T,
case b <> 'True' then 1 else 0 end as F
from 表)
group by a
having sum(T) > 0 and sum(F) > 0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式