如何在同一个参数标签下放置不同的值



我有一个表,当选择distinct时,它看起来与下面的示例类似。格式为MainFolder-SubFolder1-SubFolder2

tbody> <<tr>
Folder
a - b
a - b - c
c
B-D-E

我不确定我完全理解你的问题,但你能不能不只是创建数据集的参数值看起来像这样…

SELECT DISTINCT LEFT(Folder, 1) AS MainFolder FROM myTable

那么你的主数据集查询将是这样的…

SELECT * FROM myTable WHERE Left(Folder,1) = @pMainFolder

…其中pMainFolder是参数

的名称或者如果pMainFolder是多值的你可以使用

SELECT * FROM myTable WHERE Left(Folder,1) IN(@pMainFolder)

**UPDATE ** after OP additional info.

假设所有文件夹都有某种形式的分隔符(在您的示例中是-),您可以替换这个

Left(Folder,1)

LEFT(Folder, CHARINDEX('-', Folder)-1)

CharIndex给出了Folder列中第一个-的位置。所以在admin -south中;这将是位置6,然后我们减去1得到5然后在LEFT函数中使用它所以我们只得到最左边的前5个字符,在这个例子中"Admin">

最新更新