我有一个名为intColumn
的列,其中包含值valA
,valB
,...,valN
。SQL - 如何从列中创建int列表
我需要一个简单的方法来引用这些值的列表传入IN()
语句。
也许这可能存储在一个变量中,如intList = valA, valB, ... , valN
,其结果将显示为IN(intList)
。
这样做的动机可以避免在IN()
语句中对400个值进行硬编码。
什么是简单的方法来做到这一点?
我有一个名为intColumn
的列,其中包含值valA
,valB
,...,valN
。SQL - 如何从列中创建int列表
我需要一个简单的方法来引用这些值的列表传入IN()
语句。
也许这可能存储在一个变量中,如intList = valA, valB, ... , valN
,其结果将显示为IN(intList)
。
这样做的动机可以避免在IN()
语句中对400个值进行硬编码。
什么是简单的方法来做到这一点?
Select *
From SomeTable
Where ID in (Select IDs from SomeOtherTable Where SomeCondtion=True)
另外,我甚至不会做一个IN
,如果你有这么多的价值观。这是容易做到无论是JOIN
或WHERE EXISTS
:
JOIN
方法:
Select A.*
From TableA A
Join TableB B On A.SomeColumn = B.IntColumn
EXISTS
方法:
Select *
From TableA A
Where Exists
(
Select *
From TableB B
Where A.SomeColumn = B.IntColumn
)
如果你只需要选择包含这些值的东西,只是做了'加入'到该列的表格。 – Siyual
如果我理解了请求,则子查询就是您想要的。 '在哪里someValue(从表中选择intColumn)' – MikeTheLiar
你能给RDBMS加标签吗? –