回答編集履歴

1

sample

2021/04/21 08:56

投稿

yambejp
yambejp

スコア116728

test CHANGED
@@ -1,3 +1,39 @@
1
1
  nameとmessageを連結した生成列を指定してやればよいでしょう。
2
2
 
3
3
  なお%・・・%のようなデータはインデックスにかからないので効率的な検索は困難です
4
+
5
+ # sample
6
+
7
+
8
+
9
+ ```SQL
10
+
11
+ create table tbl(id int primary key,name varchar(30),message varchar(30),name_message varchar(61) AS (concat(name,' ',message)));
12
+
13
+ insert into tbl(id,name,message) values
14
+
15
+ (1,'aaa bbb','ccc ddd'),
16
+
17
+ (2,'aaa','bbb ccc'),
18
+
19
+ (3,'aaa bbb ccc','ddd'),
20
+
21
+ (4,'aaa','bbb'),
22
+
23
+ (5,'aaa','ddd'),
24
+
25
+ (6,'ddd','ccc');
26
+
27
+
28
+
29
+ select * from tbl
30
+
31
+ where 1
32
+
33
+ and name_message regexp 'aaa'
34
+
35
+ and name_message regexp 'bbb'
36
+
37
+ and name_message regexp 'ccc'
38
+
39
+ ```