2016-12-28 9 views
0

私のSQLクエリは次のようにある場合:mysqlクエリを使用してparent_idを取得する方法は?

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

、結果はこのようなものです:私のSQLクエリは次のようであれば

enter image description here

(画像1)

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このようなS:

enter image description here

(画像2)私は、画像2の結果をしたい

PARENT_ID値が存在します。フィールドparent_idの値は、フィールドkdfungsiに基づいて、画像1のidから取得されます。

画像2の値PARENT_IDに関してように、結果は次のようである:

  • ID 736、親ID:735
  • ID 737、親ID:735
  • ID 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です。

私は、私はそれをどのように行うことができます。1.

画像に見られるように、フィールドkdfungsiに基づいて、画像2上のPARENT_IDを記入する必要がありますか?

+1

を質問する代わりに、いくつかのpornbannerロードされたホスト上の画像を追加してください。 – GolezTrol

答えて

1

master_lookupsテーブルからID値を取得するには、これを行うことができます:

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

ありがとうございました。できます –

関連する問題