Если мой SQL-запрос выглядит так:
SELECT * FROM master_lookups WHERE `type` = 'fungsi'`,
тогда результат будет таким:
(изображение 1)
Если мой SQL-запрос выглядит так:
SELECT @rownum := @rownum + 1 AS id,
NULL AS parent_id,
kdsfungsi AS `code`,
nmsfungsi AS `name`,
'sub_fungsi' AS `type`,
CONCAT('{"kdfungsi":"', kdfungsi, '"}') AS information
FROM dblaplakgar.t_sfungsi
CROSS JOIN (SELECT @rownum := 735) r
тогда результат будет таким:
(изображение 2)
Я хочу, чтобы результат изображения 2, существует значение parent_id. Значение поля parent_id взято из Я бы в изображении 1, основанном на поле kdfungsi.
Так что в отношении стоимости parent_id на изображении 2 результат выглядит так:
Как только я получаю parent_id, Я использую этот запрос для вставки:
INSERT INTO master_lookups (id,parent_id,`code`,`name`,`type`,information)
SELECT @rownum := @rownum + 1 AS id,
NULL AS parent_id,
kdsfungsi AS `code`,
nmsfungsi AS `name`,
'sub_fungsi' AS `type`,
CONCAT('{"kdfungsi":"', kdfungsi, '"}') AS information
FROM dblaplakgar.t_sfungsi
CROSS JOIN (SELECT @rownum := 735) r
Есть parent_id значения, которые по-прежнему равны NULL.
Мне нужно заполнить parent_id на изображении 2 на основе поля kdfungsi как видно на рисунке 1.
Как я могу это сделать?
Чтобы получить Я бы значение из master_lookups Таблица, вы могли бы сделать это:
SELECT @rownum := @rownum + 1 AS id,
m.id AS parent_id,
t.kdsfungsi AS `code`,
t.nmsfungsi AS `name`,
'sub_fungsi' AS `type`,
CONCAT('{"kdfungsi":"', t.kdfungsi, '"}') AS information
FROM dblaplakgar.t_sfungsi t
LEFT JOIN master_lookups m
ON m.type = 'fungsi'
AND m.code = t.kdfungsi
CROSS JOIN (SELECT @rownum := 735) r
Других решений пока нет …