Я занимаюсь разработкой некоторых сложных запросов преобразования SQL, в которых мне нужно искать в столбце с объединенными символами (например, 'LKA') другую строку с объединенными символами в любом порядке (например, 'AL').
Iуже пытался использовать ключевое слово LIKE
, например:
SELECT UMCOD FROM x WHERE UMCOD LIKE y
Где UMCOD
, например, LKA
и y AL
. Это явно не может работать, потому что я не использовал подстановочные знаки.
Например, у меня есть следующие таблицы sql:
CREATE TABLE `searchable_chars` ( `charstring` CHAR(9) NOT NULL );
CREATE TABLE `searchme` ( `tosearch` CHAR(9) NOT NULL );
INSERT INTO `searchable_chars` (`charstring`) VALUES ('LKA');
INSERT INTO `searchme` (`tosearch`) VALUES ('AL'), ('L'), ('U'), ('KU'), ('A');
Запрос (как и приведенный ниже, не работает):
SELECT x.charString, y.toSearch FROM `searchable_chars` AS x LEFT JOIN `searchme` AS y ON x.charstring LIKE y.toSearch
должен вернуть следующую таблицу
+------------+----------+
| charString | toSearch |
+------------+----------+
| LKA | AL |
| LKA | L |
| LKA | KU |
| LKA | A |
+------------+----------+
Надеюсь, вы понимаете, о чем я. Я знаю, как решить это, используя js или любой другой язык, но я хочу решить это, используя чистый SQL.