3
respostas

ERRO no CrossJoin

Boa Tarde, estou com erro ao executar esse comando

SELECT * FROM t1
JOIN
JSON_TABLE (JSON_EXTRACT(`JSON`, "$.Cliente"), "$[*]"
COLUMNS (NOME VARCHAR(10) PATH "$.Nome", HOBBY VARCHAR(10) PATH "$.Hobby")) t2;
erro nessa linha, acho que não SQL[1064 e 42000]
(JSON_EXTRACT(`JSON`, "$.Cliente"), "$[*]"
3 respostas

Olá, Marcelo, tudo bem?

O erro retornado ao executar o comando, foi um erro de sintaxe, porém, ao executar o seu comando aqui no meu ambiente, o erro não foi retornado.

Então Marcelo, você poderia fornecer mais detalhes? Assim, poderei entender melhor o que pode estar acontecendo no seu ambiente.

  • Qual a versão do MySQL e do Workbench você está utilizando?
  • Você conseguiu executar algum outro comando que possui o JSON_EXTRACT?

Aguardo o seu retorno!

mysql 5.7 938b57d64674 2 weeks ago 448MB

Estou usando docker e acessando pelo dbweaver..

Sobre todos outro comando com exceção do JSON_TABLE (JSON_EXTRACT(JSON, "$.Cliente"), "$[*]" ) , funcionam.

Todos exercícios da aulas anteriores envolvendo JSON_EXTRACT, funcioraram.

A função JSON_TABLE foi implementada no MySQL a partir da versão 8, as versão anteriores, como a versão 5.7 do MySQL não são compatíveis, por este motivo um erro foi retornado quando o comando foi executado.

A título de curiosidade caso queira ver um pouco mais a respeito do assunto, indico a leitura da documentação do MySQL sobre o JSON_TABLE.

Bons estudos!