teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

sample

2021/04/21 08:56

投稿

yambejp
yambejp

スコア117902

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