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

这样的查询语句实际执行的是select * from A where A_id in (1,2,3),但是我想的到5条查询结构(其中1和2是重复的,3和4是重复的),应该怎样实现?

你好,
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 的回答都可实现你想要的结果。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-06-21
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

本回答被网友采纳
第2个回答  2015-01-20
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

是要这样?

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

...查询语句,遇到这样的麻烦,select * from A where A_id in (1,1...
你好,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行数据。如果你写的这个...

SQL select语句问题,怎么用select出来的结果作为where再次select ,2...
这叫做查询 一种方式 是写代码 一种方式设计视图 其实是图也是一种子查询 上代码:select * from table1 where ID in(select ID from table2 where ...)除了in 也可以用别的运算符 如果用= > < 你得保证子查询出来的是一个值 希望我的回答对你有所帮助 ...

sql一条语句查询订单表下过两次单的顾客。
1、首先在sql软件中,确定要重命名的表,如下图所示。2、接着点击顶部的新建查询按钮,如下图所示。3、然后执行sp_rename语句,第一个是原表名,后面的是新表名,如下图所示。4、接下来点击执行按钮,如下图所示。5、然后会显示一个提示消息,如果其他地方没有这个表名的调用就不用管。6、最后刷...

SQL语句查询条件一个字段=多个值怎么写
1、首先在桌面上,点击“Management Studio”图标。2、其次在该窗口中,点击左上角“新建查询”选项。3、次之在该窗口中,输入查询条件一个字段=多个值的sql语句“select * from rss where grade=100 or grade = 90;”。4、再者在该窗口中,点击左上方“执行”按钮。5、最后在该窗口中,显示查...

SELECT* FROM where语句是正确的吗?
Select * from where 是 SQL 语言中的错误语句,正确的语法应该是 "SELECT * FROM 表名 WHERE 条件"。详细解释:1. SQL中的基本查询语句结构:在SQL中,用于从数据库中查询数据的标准语句结构是 "SELECT * FROM 表名"。这条语句的作用是查询指定表中的所有数据。其中,"SELECT *" 表示选择所有列...

网站提示SQL语句错误: SELECT * FROM mp_blog_setup where id=1
1、错误产生原因,有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说法。还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能导致 MYSQL数据库表...

sql语句问题,怎么将查询出来的数据,只取第2第3条数据
有一个销量表,你需要提取产品的销量排名的第二条和第三条,则:select * from (select *,row_number()over(partition by a.产品ID order by b.销量 desc) as cn from 产品表 a join 销量表 b on a.产品ID=b.产品ID ) a where a.cn in (2,3)如果不会,还可以追问 ...

asp sql 查询id为1或2或3的值 sql语句怎么写?
用or查询不走索引,效果不理想,建议用in, 如果该查询字段建了索引,in会极大的提高查询速度 select * from Table where xx in ('1','2','3');你也可以考虑把参数放到1个数组中,循环生成sql中条件的部分

select ** from A where A.id in (select id from B where ***) 在以...
相对来说第一种情况快,sql查询的顺序是先查where 后面的结果,那么如果B表数据少,当然速度相对要快于数据多的情况。实际情况用内连接速度会快得多。

sql语句问题,怎样才能当B等于1、2、3都成立时才输出一条记录,列A重复...
不知道你要显示什么数据,只能写成这样,请你自己根据你的要求加入到你自己的sql中吧:1、查询【B】等于【1、2、3】都成立的【A】的值 select A from 表1 where B in(1,2,3) group by A having count(B)=3;2、查询表中满足要求的记录 select * from 表1 where A in(select A from ...

相似回答