У меня есть простая таблица с 2 столбцами "id" и "ink_number", и я хотел бы создать еще один столбец с именем "nk_exists", который будет иметь значение 1 или 0 в зависимости от того, есть ли строка, подобная этой, но с «НК» в начале. И сможете сортировать по "nk_exits".
Например, если есть две строки "123" и "NK123", то для строки "123" nk_exists имеет значение true, поскольку существует строка 123 с NK в начале.
Вот мой оригинальный стол "Инкассо"
+-------+--------------+
| id 1 | ink_number |
+-------+--------------+
| 1 | 538032S |
| 2 | NK538032S |
| 3 | 114702A |
| 4 | 159631D |
| 5 | NK9761926001 |
| 6 | 9761926001 |
| 7 | 29-00002411L |
| 8 | 42032502V |
| 9 | NK42032502V |
| 10 | 454339KDB |
+-------+--------------+
Я хочу, чтобы конечный результат выглядел следующим образом
+-------+--------------+-----------+
| id 1 | ink_number | nk_exists |
+-------+--------------+-----------+
| 1 | 538032S | 1 |
| 2 | NK538032S | 0 |
| 3 | 114702A | 0 |
| 4 | 159631D | 0 |
| 5 | NK9761926001 | 0 |
| 6 | 9761926001 | 1 |
| 7 | 29-00002411L | 0 |
| 8 | 42032502V | 1 |
| 9 | NK42032502V | 0 |
| 10 | 454339KDB | 0 |
+-------+--------------+-----------+
Мой запрос получает ошибку Synax
1064 - у вас ошибка в синтаксисе SQL; проверьте правильность синтаксиса в руководстве, соответствующем версии вашего сервера MariaDB
select
inkasso.id,
inkasso.ink_number,
jointable.nk_exists
from inkasso
left join (
select
case
when exists 1
when not exists 0
end as nk_exists
from inkasso
where exists(
select
1
from inkasso ink
where left(ink_number, 2) = 'NK' and inkasso.id = ink.id
) as subjoin on
) as jointable on inkasso
WHERE jointable.nk_exists = 1
ORDER BY jointable.nk_exists