Поле номера частичного совпадения - PullRequest
0 голосов
/ 20 февраля 2020

Эй, ребята, я действительно изо всех сил на работе ... У меня есть 2 таблицы с регистрационными номерами, в таблице 1 эти номера имеют длину 3,4,5,6 или 7 цифр. В таблице 2 эти числа состоят из 9 цифр (те же цифры из таблицы 1, но заполнены нулями).

Example: table1 | table2
          134   |000000134
         2364   |000002364
        45678   |000045678

Поэтому мне нужно сделать запрос на соединение, соответствующий этим двум, чтобы получить фамилию людей, которые имеют эти цифры.

У меня есть что-то вроде этого:

-SELECT prest.lastname,aut.registrationcode, aut.date,

-SUM(CASE WHEN aut.type like '%O%' THEN 1 ELSE 0 END) as 
                                                    'Online',
-SUM(CASE WHEN aut.type like '%D%' THEN 1 ELSE 0 END) as 
                                                    'Difered',

-count(*) AS TOTAL
-FROM prest INNER JOIN aut ON 
-aut.registrationcode like '%' || prest.code

-WHERE (aut.date BETWEEN '2019-12-01' AND '2019-12-31')

-GROUP BY prest.lastname, aut.date;  

Надеюсь, вы можете мне помочь.

1 Ответ

0 голосов
/ 20 февраля 2020

Предполагая, что оба столбца, содержащие регистрационные номера, имеют тип данных текста (VARCHAR, CHAR, TEXT ...), вы можете использовать функцию LPAD():

...
FROM table1
JOIN table2 ON LPAD(table1.registrationcode, 9, '0') = table2.registrationcode
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...