-1

MySQL には、wp_usermeta、directory_department、および directory_departmentmemebership の 3 つのテーブルがあります。

Directory_departmentmembership

| employee_id|department_id|
|:-----------|------------:|
| 1          |        2    |          
| 2          |        1    |       
| 3          |        3    |         

directory_department

| department_id|department_name|
|:-----------  |--------------:|
| 1            |        Deans  |          
| 2            |        MBA    |       
| 3            |        Fiance |   

wp_usermeta には次のものがあります。

| employee_id| meta_key      | meta_value   |
|:-----------|--------------:|:------------:|
| 1          |department_id  |     2        |
| 2          |department_id  |     1        |
| 3          |department_id  |     3        | 
| 1          |department_name|              |
| 2          |department_name|              |
| 3          |department_name|              |

directory_department を参照して、meta_value フィールドの department_id 値に基づいて正しい department_name を挿入するにはどうすればよいですか?

4

1 に答える 1

0

SQL関数を使用して、各IDの正しい名前を取得できます...


CREATE FUNCTION [dbo].[fn_department](@id INT)
RETURNS VARCHAR(300)
AS
BEGIN
    declare @department_name varchar(300)
    select @department_name = department_name from directory_department where department_id = @id

    RETURN @department_name

END

--And call it like this...
INSERT INTO wp_usermeta (id,department_name)
select id, dbo.fn_department(id) as department_name
于 2013-10-29T14:42:56.797 に答える