第一条声明:
Select GroupMember
FROM Group 结果:洛杉矶,圣地亚哥(它是一个字符串)
第二条声明:
SELECT *
FROM Store_Information
WHERE Store_Name IN ('Los Angeles', 'San Diego');如何将洛杉矶,圣地亚哥(一个数据)转换为IN (“洛杉矶”,“圣地亚哥”)?
发布于 2014-12-15 15:07:44
使用内部查询
SELECT * FROM Store_Information
WHERE Store_Name IN (Select GroupMember FROM Group)发布于 2014-12-15 15:31:30
您可以将查询编写为
SELECT *
FROM
Store_Information WHERE Store_Name IN (
SELECT Split.a.value('.', 'VARCHAR(100)') AS String
FROM (SELECT CAST ('<M>' + REPLACE(groupname, ',', '</M><M>') + '</M>'
AS XML) AS groupname
FROM Group)
AS A
CROSS APPLY groupname.nodes ('/M') AS Split(a))发布于 2014-12-15 15:16:03
虽然您可以使用子查询来实现,但更好的方法是使用连接:
SELECT s.*
FROM Store_Information s
JOIN Group g ON g.GroupMember = s.Store_Namehttps://stackoverflow.com/questions/27478914
复制相似问题