sql 查询语句,遇到这样的麻烦,select * from A where A_id in (1,1,2,2,3)

这样的查询语句实际执行的是select*fromAwhereA_idin(1,2,3),但是我想的到5条查询结构(其中1和2是重复的,3和4是重复的),应该怎样实现?... 这样的查询语句实际执行的是select * from A where A_id in (1,2,3),但是我想的到5条查询结构(其中1和2是重复的,3和4是重复的),应该怎样实现? 展开
 我来答
天极宇智波
2015-01-20 · TA获得超过426个赞
知道小有建树答主
回答量:358
采纳率:100%
帮助的人:176万
展开全部
你好,
select * from A where A_id in (1,1,2,2,3)=select * from A where A_id in (1,2,3)

这样的规则是没有任何问题的,如果你的数据表A表中的A_id中确实有5行数据,而A_id的值只有1,2,3 这三个数值并且数据行的其它列也是不一样的查出来就一定会是5行数据。如果你写的这个语句查不出5行数据那么请看看是否A表中存在相同值的行。
当然还有一种做法可以查询到5行值就是不要使用A_id而是使用5行值都不相同的列去做查询条件如:
select * from A where B=某某.... or B=某某这样的方式也可以
希望对你有所帮助!
追问
我不是说要用in,我不知道怎样达到我的目的,用这样得方式来表的我的需求?
追答
看了半天觉得你的思路出问题,除了我和下面  twvampire 的回答都可实现你想要的结果。
百度网友2c082fd13d
推荐于2017-06-21 · TA获得超过178个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:99.4万
展开全部
SELECT A.* FROM 
(
SELECT * FROM (SELECT 1 a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 2 UNION ALL SELECT 3)t
)
LEFT JOIN A ON t.a=A.A_id

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
twvampire
2015-01-20 · TA获得超过3620个赞
知道大有可为答主
回答量:3029
采纳率:76%
帮助的人:2959万
展开全部
select * from A where A_id in (1,2,3)
union all
select * from A where A_id in (1,2)
order by id

这样?

追问

追答
select a.a_id ,a.a_name
 from a left join b on a.a_id=b.a_id

是要这样?

不知道你那个数据是输的还是横的,,,

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式