根据列中的多个值选择行

时间:2018-05-17 16:42:27

标签: sql-server select

我有两个表(T1,T2).Below是来自这两个表的样本记录。

library(tidyverse)  
data <- 
  tibble(
    month = as_factor(c("January", "January", "February", "February")),
    value_type = c("temperature", "precipitation", "temperature", "precipitation"),
    value = c(30, 25, 40, 25))

ggplot(data) +
  geom_col(aes(x = month, y = value) +
  facet_wrap(~value-type)

我想根据T2表中的'NAMES'列选择T2中的记录,该列包含T1表中任何一个'Name'列的值。

例如

T1
 --
    RNO    NAME
    ---   ------ 
    1      NAME1
    2      Name3
    3      Name4

    T2
    ---
    RNO    NAMES
    ---    -----
    1      NAME1,Name5
    2      Name4
    3      Name2

'Name2'不应该输出,因为它在T1表中不存在。请帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用InvocationType: 'Event'

EXISTS

答案 1 :(得分:0)

这很有用。?

SELECT * FROM T2
Inner join T1
 ON (
       (t2.Name=t1.Name)
          OR
       (t2.Name LIKE'%'+t1.Name+',%')
          OR
       (t2.Name LIKE'%,'+t1.Name+'%')
          OR
       (t2.Name LIKE'%,'+t1.Name+',%')
   )

小提琴:http://sqlfiddle.com/#!18/b4641/1