私は2つのテーブルを持っています
create table crm_location_site (loc_name varchar(100),loc_id int(11) );
insert into crm_location_site values
('Dubai Marina',11),
('Marina Residance',12),
('Jumera Marina',13)
create table crm_subloc (sub_sub_loc varchar(100),sub_loc_id int(11) );
insert into crm_subloc values
('Ora Marina',11),
('Grand Ora Marina',12)
これが私の質問です
SELECT loc_id as id,loc_name as name,'loc' as tbl
FROM crm_location_site
WHERE TRIM(loc_name) LIKE '%M%'
UNION
SELECT sub_loc_id as id,sub_sub_loc as name,'subloc' as tbl
FROM crm_subloc
WHERE TRIM(sub_sub_loc) LIKE '%M%'
このクエリは私に与えます
Dubai Marina
Marina Residance
Jumera marina
上から始めてマッチして見せたいです。
この順番で
Marina Residance
Dubai Marina
Jumera marina
これが簡単なフィドルフィドルです
このようなもの?
SELECT *
FROM
(
SELECT loc_id as id,loc_name as name,'loc' as tbl
FROM crm_location_site
WHERE TRIM(loc_name) LIKE '%M%'
UNION
SELECT sub_loc_id as id,sub_sub_loc as name,'subloc' as tbl
FROM crm_subloc
WHERE TRIM(sub_sub_loc) LIKE '%M%'
) x
ORDER BY POSITION('M' in name);
最も繰り返されているSORTBY名
ORDER BY (LENGTH(name) - LENGTH(REPLACE('M', '', name))) / LENGTH('M') DESC;
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加