Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Construindo tb_object_departamento_projeto_trabalha_em

    CREATE TABLE tb_object_departamento_projeto_trabalha_em (
                NUMERO_DEPARTAMENTO INT NOT NULL,
                `JSON` JSON,
                PRIMARY KEY (NUMERO_DEPARTAMENTO));
2 respostas
solução!

Inserindo JSON:

INSERT INTO tb_object_departamento_projeto_trabalha_em VALUES
        (1, 
                '{
                  "Numero_Departamento": "1",
                  "Data_Inicio_Gerente": "1981-06-19",
                  "Nome_Departamento": "Matriz",
                  "Cpf_Gerente": "88866555576",
                  "Projeto": 
                    [
                        {
                            "Numero_Projeto": "20",
                            "Nome_Projeto": "Reorganização",
                            "Local_Projeto": "São Paulo",
                            "Horas_trabalhadas": 
                                [
                                    {
                                        "Cpf_Funcionario": "33344555587",
                                        "Horas": "10"
                                    },
                                    {
                                        "Cpf_Funcionario": "88866555576",
                                        "Horas": "0"
                                    },
                                    {
                                        "Cpf_Funcionario": "98765432168",
                                        "Horas": "20"
                                    }
                                ]
                        }
                    ]
                }'
        ),
        (4, 
                '{
                  "Numero_Departamento": "4",
                  "Data_Inicio_Gerente": "1995-01-01",
                  "Nome_Departamento": "Administração",
                  "Cpf_Gerente": "98765432168",
                  "Projeto": 
                    [
                        {
                            "Numero_Projeto": "1",
                            "Nome_Projeto": "Produto X",
                            "Local_Projeto": "Santo André",
                            "Horas_trabalhadas": 
                                [
                                    {
                                        "Cpf_Funcionario": "12345678966",
                                        "Horas": "33"
                                    },
                                    {
                                        "Cpf_Funcionario": "45345345376",
                                        "Horas": "20"
                                    }
                                ]
                        },
                        {
                            "Numero_Projeto": "10",
                            "Nome_Projeto": "Informatização",
                            "Local_Projeto": "Mauá",
                            "Horas_trabalhadas": 
                                [
                                    {
                                        "Cpf_Funcionario": "33344555587",
                                        "Horas": "10"
                                    },
                                    {
                                        "Cpf_Funcionario": "98798798733",
                                        "Horas": "35"
                                    },
                                    {
                                        "Cpf_Funcionario": "99988777767",
                                        "Horas": "10"
                                    }
                                ]
                        },
                        {
                            "Numero_Projeto": "30",
                            "Nome_Projeto": "Novos Benefícios",
                            "Local_Projeto": "Mauá",
                            "Horas_trabalhadas": 
                                [
                                    {
                                        "Cpf_Funcionario": "98765432168",
                                        "Horas": "5"
                                    },
                                    {
                                        "Cpf_Funcionario": "98798798733",
                                        "Horas": "5"
                                    },
                                    {
                                        "Cpf_Funcionario": "99988777767",
                                        "Horas": "30"
                                    }
                                ]
                        }
                    ]
                }'
        ),
        (5, 
                '{
                  "Numero_Departamento": "5",
                  "Data_Inicio_Gerente": "1988-05-22",
                  "Nome_Departamento": "Pesquisa",
                  "Cpf_Gerente": "33344555587",
                  "Projeto": 
                    [
                        {
                            "Numero_Projeto": "2",
                            "Nome_Projeto": "Produto Y",
                            "Local_Projeto": "Itu",
                            "Horas_trabalhadas": 
                                [
                                    {
                                        "Cpf_Funcionario": "12345678966",
                                        "Horas": "8"
                                    },
                                    {
                                        "Cpf_Funcionario": "33344555587",
                                        "Horas": "10"
                                    },
                                    {
                                        "Cpf_Funcionario": "45345345376",
                                        "Horas": "20"
                                    }
                                ]
                        },
                        {
                            "Numero_Projeto": "3",
                            "Nome_Projeto": "Produto Z",
                            "Local_Projeto": "São Paulo",
                            "Horas_trabalhadas": 
                                [
                                    {
                                        "Cpf_Funcionario": "33344555587",
                                        "Horas": "10"
                                    },
                                    {
                                        "Cpf_Funcionario": "66688444476",
                                        "Horas": "40"
                                    }
                                ]
                        }
                    ]
                }'
        );

Resolução:

SELECT JSON_EXTRACT(`JSON`, "$.Projeto[0].Horas_trabalhadas[1].Horas") FROM tb_object_departamento_projeto_trabalha_em;