【问题标题】:SQL Server - Where CONTAINS (Field, SUBQUERY)SQL Server - 其中包含(字段,子查询)
【发布时间】:2017-10-13 14:56:44
【问题描述】:

我有两张桌子:

SELECT FIELD_A,
       FIELD_A1
FROM TABLE A

 SELECT FIELD_B
    FROM TABLE B

所有字段都来自 nvarchar 类型。而我想要做的是:

   SELECT FIELD_A,
           FIELD_A1
    FROM TABLE A
    WHERE CONTAINS (FIELD_A, SELECT FIELD_B FROM TABLE B)

基本上,我在 Field_B 中包含我在 Field_A 中的部分单词。例如:

  • Field_A 是 SQLSERVER_DEVELOPMENT_DATABASE
  • Field_B 是 SQLSERVER

如何使用 SQL Server 做到这一点?

谢谢!

【问题讨论】:

  • FIELD_A 是固定值吗?
  • 不...它可以改变。可以是很多字符而且我不知道Field_B的位置
  • 我不清楚,您是否要查找现有的值对?
  • 不,我正在尝试查看 Field_B 是否存在于 Field_A 中。在我提供的示例中 Field_B 存在于 Field_A 中
  • 你能添加一个示例和想要的结果吗?

标签: sql-server contains


【解决方案1】:

您可以使用PATINDEX检查表B中的字段是否包含您要查找的内容,如下所示:

SELECT FIELD_A, FIELD_A1
FROM A
    INNER JOIN B
        ON PATINDEX( '%'+ FIELD_B +'%', FIELD_A ) > 0

【讨论】:

    猜你喜欢
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多