2016-12-28 294 views
0

如果我的SQL查詢是這樣的:如何使用mysql查詢獲取parent_id?

SELECT * FROM master_lookups WHERE `type` = 'fungsi'`, 

那麼結果是這樣的:

enter image description here

(圖片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 

然後結果i就像這樣:

enter image description here

(圖像2)

欲圖像2的結果,存在PARENT_ID的值。字段parent_id的值取自圖像1中的id,基於字段kdfungsi

所以至於價值PARENT_ID在圖像2中,結果是這樣的:

  • 編號736,它的父ID:735
  • 編號737,它的父ID:735
  • 編號738,它的父ID:734

一旦我得到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。

我需要填補圖像2 PARENT_ID基於現場kdfungsi圖像1.

我怎麼能這樣做所看到?

+1

請添加圖像的問題,而不是一些pornbanner裝主機上。 – GolezTrol

回答

1

要獲得從master_lookupsID值,你可以這樣做:

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 
+0

非常感謝。有用 –