在 SQL for VBA 的单个单元格下写入多次出现

Write multiple occurences under single cell in SQL for VBA

我正在为 VBA 开发 SQL。 通常,如果我们多次出现所需条件,则每次出现都会写在不同的单元格上,如下面的代码:

"SELECT CPID " & _
    "FROM LCOND_LAST " & _
    "WHERE WELL ='" & sht1.Cells(i + 3, 8) & "'  " & _
    "ORDER CPID"

这将给出输出:

请注意,有 2 个单元格可以写入两次。

我的问题是,我们可以只将它们写在单个单元格上吗? 有什么功能可以让我们这样做吗?

您可以按如下方式使用DISTINCT

"SELECT WELL, CPID " & _
    "FROM LCOND_LAST " & _
    "WHERE WELL ='" & sht1.Cells(i + 3, 8) & "'  " & _
    "ORDER BY PSWELLCOND_LAST.CPID"

DISTINCT用于过滤重复行

here 了解更多关于 DISTINCT 的信息。

-- 更新

您可以使用CHR(10) -- 换行符并聚合如下:

"SELECT LISTAGG(CPID, CHR(10)) WITHIN GROUP (ORDER BY CPID) " & _
    "FROM LCOND_LAST " & _
    "WHERE WELL ='" & sht1.Cells(i + 3, 8) & "'  "