如何为WHERE IN()SQL查询选择convert list varchar
如何为选择convert list varchar SQL查询中的何处如何为WHERE IN()SQL查询选择convert list varchar,sql,select,stored-procedures,Sql,Select,Stored Procedures,如何为选择convert list varchar SQL查询中的何处 select code from table1 Code 10223 10240 10047 10174 10187 10192 10212 10213 10195 select * table2 from where code in ('10047','10174','10187','10192','10212','10213','10195') 我需要这个的存储过程中的操作符可以对
select code from table1
Code
10223
10240
10047
10174
10187
10192
10212
10213
10195
select * table2 from where code in
('10047','10174','10187','10192','10212','10213','10195')
我需要这个的存储过程中的
操作符可以对查询进行操作,因此不需要这样的转换:
SELECT *
FROM table2
WHERE code IN (SELECT code FROM table1)
你有两个选择:
使用连接:
假设表1中的code
列是唯一的:
SELECT t2.* FROM table2 t2 INNER JOIN table1 t1 ON CAST(t1.code AS VARCHAR)=CAST(t2.code AS VARCHAR)
内部查询
您的意思是表1中的代码是数字的,而表2中的代码是相同的,但类型是varchar?varchar only string@MUREINKIK您的评论“varchar only string”一点帮助都没有,请告诉我们每个表的代码字段有哪种类型。两者都是varchar@martinstoeckliSo,不需要转换,Mureinik的解决方案应该有效。这两个语句不一定会返回相同的结果。@a_horse_和_no_name,你是对的,我已经编辑了答案
SELECT * FROM table2 WHERE code IN
(SELECT code FROM table1)