如何使用''在一个变量中获取多个值

时间:2018-10-05 11:45:00

标签: mysql sql

我如何在不带空格的变量'TFSEP-2019','TFjul-2018','TFJun-2018'中获得这样的价值。

SELECT s.house, s.grade, s.homeroom AS Campus
FROM student s,fees_jrl f
WHERE s.studnum = f.studnum AND
      f.name IN (' TFJun-2018 TFJul-2018 ') AND
      f.trans_type= 'chg' AND
      f.paid_id is NULL AND s.house LIKE '%'
GROUP BY s.house 

我越来越喜欢('TFJun-2018 TFJUL-2018 TFSEP-2019')但我想要('TFSEP-2019','TFjul-2018','TFJun-2018')请帮助

3 个答案:

答案 0 :(得分:0)

使用显式连接和连接

    SELECT  
 concat( concat( concat( concat("'",s.house),"'"),concat( concat("'",s.grade),"'")),
  concat( concat("'",s.homeroom),"'"))
    FROM student s join fees_jrl f
    on  s.studnum = f.studnum 
      where f.name IN (' TFJun-2018 TFJul-2018 ') AND
          f.trans_type= 'chg' AND
          f.paid_id is NULL AND s.house LIKE '%'

我认为您不需要分组,因为您没有汇总功能

答案 1 :(得分:0)

您可以使用like作为字符串 %表示任何字符,_表示一个字符 这样做 F.name像%2018% 会给你2018年的全部..

答案 2 :(得分:0)

您可以使用类似的运算符引用以下语句,每当需要引号(')时,请使用双引号(''):

create table tab ( Id int, expression varchar(100));

insert into tab values(1 ,'TFJun-2018 TFJUL-2018 TFSEP-2019');
insert into tab values(2,'''TFJun-2018'',''TFJUL-2018'',''TFSEP-2019''');

select * from tab where expression like '''TFJun-2018''%';
Id  expression
2   'TFJun-2018','TFJUL-2018','TFSEP-2019'

select * from tab where expression like '''TFJun-2018'',''TFJUL-2018''%';
Id  expression
2   'TFJun-2018','TFJUL-2018','TFSEP-2019'

select * from tab where expression like '''TFJun-2018'',''TFJUL-2018'',''TFSEP-2019''%'; 
Id  expression
2   'TFJun-2018','TFJUL-2018','TFSEP-2019'

Rextester Demo