E ae galera, estou com um probleminha…
Estou tentando realizar um SQL no MySQL, mas o mesmo me retorna um erro. Alguém sabe como posso fazer ele?
SQL:
SELECT * FROM atendimento
WHERE id_objeto = (SELECT MAX(id_objeto) FROM atendimento)
E ae galera, estou com um probleminha…
Estou tentando realizar um SQL no MySQL, mas o mesmo me retorna um erro. Alguém sabe como posso fazer ele?
SQL:
SELECT * FROM atendimento
WHERE id_objeto = (SELECT MAX(id_objeto) FROM atendimento)
Posta o erro que fica + fácil ajudar
PS: Esse povo mal acustumado com Oracle :lol: :lol:
Lucashgt !!!
Meu vai estuda !!! E para de ouvir sepultura !!!
8) 8) 8)
[quote=“diego_sl”]Posta o erro que fica + fácil ajudar
PS: Esse povo mal acustumado com Oracle :lol: :lol:[/quote]
E ae guri, já está trabalhando com MySQL? :lol: :lol: (brincadeira…, tudo tranquilo por ae)
O erro: Syntax error or access violation.
Acredito que seja por causa da versão que estou trabalhando.
Como era a frase que ele mesmo falava?deixa ver se me lembro, era algo do tipo: “…Cara, sempre olha na documentação, sempre via ter alguém que já passou por algo parecido…”
Ta na mão seu Lucas,2 linkzinhos de graça ai :), vê se aprende enquanto to vivo :lol: :lol:
http://dev.mysql.com/doc/mysql/en/Subqueries.html
http://dev.mysql.com/tech-resources/articles/subqueries_part_1.html
por que não utilizar SQL ANSI em vez de sub selects em lugares onde eles não deveriam existir (mesmo que o banco aceite)??
tenta este SQL:
SELECT * FROM atendimento
HAVING id_objeto = MAX(id_objeto)
[quote=“Lucashgt”]E ae galera, estou com um probleminha…
Estou tentando realizar um SQL no MySQL, mas o mesmo me retorna um erro. Alguém sabe como posso fazer ele?
SQL:
SELECT * FROM atendimento
WHERE id_objeto = (SELECT MAX(id_objeto) FROM atendimento)
[/quote]
[quote=“diego_sl”]"…Cara, sempre olha na documentação, sempre via ter alguém que já passou por algo parecido…"[/quote]
Já tinha olhado a documentação, mas nada…
[quote=“urubatan”]por que não utilizar SQL ANSI em vez de sub selects em lugares onde eles não deveriam existir (mesmo que o banco aceite)??
tenta este SQL:
SELECT * FROM atendimento
HAVING id_objeto = MAX(id_objeto)
[/quote]
Até rodou, porém, não me retornou nada…
Vou continuar pesquisando…
Valeu ae Urubatan…
e qual o conteúdo da tabela atendimento??
São vários campos, porém, a pesquisa feita da maneira que tu postou não retorna nenhum registro.
Os campos são de valores, algumas descrições sobre o antendimento e o id do mesmo.
SELECT * FROM atendimento
WHERE id_objeto = MAX(id_objeto)
Test it!
[quote=“diego_sl”]SELECT * FROM atendimento
WHERE id_objeto = MAX(id_objeto)
Test it! :D[/quote]
Invalid use of group function!
Já tinha testado também…
bom, eu tinha escrito o SQL na pagina mesmo, e fui conferir agora, prestando atenção, não tenho ideia do por que eu mandei a mensagem aqui, sub select no where é ANSI sim, tanto que o in () é ANSI e aceita um select dentro dos parentesis
acho que to viajando hoje
Utilização excessiva de Hibernate prejudica o seu SQL
Na real é isso que está me faltando…
Mas valeu pela ajuda.
Sabe por que sua query que inclui subqueries não funcionam no MySQL? Por um motivo bem simples: MySQL não suporta subqueries. O gerador de planos e compilador de consultas do MySQL são tão ruins que não conseguem trabalhar com subqueries.
Além do mais, sempre que possível, evite usar subqueries. Não porque a porcaria do MySQL não as suporta (ou não as suportava; as versões 3.2X do MySQL não suportavam subqueries), mas porque o otimizador de consultas e de planos vão ter um trabalho do cão para conseguir otimizar suas queries (isso quando os coitados conseguirem otimizá-la; muitas vezes isso não é possível e você acaba tendo consultas muito demoradas e pouco eficientes).