KUROL3 3 Denunciar post Postado Março 6, 2010 Pq esse select não funciona da o seguinte erro... Unknown column 'O.id' in 'where clause' - mas na tebela O existe o ID... ocorrencias O INNER JOIN (SELECT COUNT(*) FROM ocorrencias_releases OCOR WHERE OCOR.id_ocorrencia = O.id) as B Marco Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Março 7, 2010 existe mas está relacionando com uma tabela com um COUNT apenas relacione as duas tabelas e crie outra alternativa para contar depois que estiver funcionando como deseja Compartilhar este post Link para o post Compartilhar em outros sites
KUROL3 3 Denunciar post Postado Março 10, 2010 Bom deixa eu explicar melhor o que eu quero.. ai você ve se pode me ajudar tenho uma tabela de ocorrencias..... tenho outra tabela de ocorrencias_releases..... na tabela de ocorrência tenho o campo id_usuario_para e na tabela ocorrencias_releases tenho tb o campo id_usuario_para estou fazendo um select assim... select if ((select count(*) from ocorrencias_releases where ocorrencias_releases.id_release = ocorrencias.id) = 0, o_usuario_para_é_da_tabela_ocorrencia, o_usuario_para_é_da_tabela_ocorrencia_releases) o comando está funcionando.. corretamente.. so que tenho que fazer uns 5 if desses para id_usuario_para, id_usuario, data_proxima_acao e etc ... gostaria de criar um boleano para usar em todos os lugares.... depois do select, do where, e etc.. marco Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Março 14, 2010 a sintaxe ta totalmente errada e eu nao entendi o q você ta tentando fazer =/ Compartilhar este post Link para o post Compartilhar em outros sites
KUROL3 3 Denunciar post Postado Março 16, 2010 Vamos lá vou tentar explicar melhor.... tenhos duas tabelas 1 - OCORRENCIAS 2 - OCORRENCIAS_RELEAES QUANDO O USUÁRIO INSERE UMA OCORRÊNCIA E NUM PRIMEIRO MOMENTO NÃO INSERE NENHUM RELEASE O USUÁRIO PARA (para quem é o release) É O CAMPO id_usuario_para QUANDO O USUÁRIO INSERE UM RELEASE O USUÁRIO PARA DEIXA DE SER O ID_USUARIO_PARA DA TABELA OCORRENCIAS E PASSA A SER O ID_USUARIO_PARA TABELA OCORRENCIA RELEASES Essa mesma regra é valida para o id_departamento também.... Quando vou listar para mostrar para o usuário a tela fica assim..... O SELECT É FEITO ASSIM.... SELECT ( SELECT usuario FROM usuarios WHERE usuarios.id = IF (( SELECT count(*) FROM ocorrencias_releases W_OCR WHERE O.id = W_OCR.id_ocorrencia ) = 0 , O.id_usuario_para, (SELECT OCR3.id_usuario_para FROM ocorrencias_releases OCR3 WHERE OCR3.id_ocorrencia = O.id ORDER BY OCR3.id DESC LIMIT 1)) ) as nome_usuario_para, (SELECT usuario FROM usuarios WHERE usuarios.id = IF (( SELECT count(*) FROM ocorrencias_releases W_OCR WHERE O.id = W_OCR.id_ocorrencia ) = 0 , O.id_usuario, (SELECT OCR4.id_usuario FROM ocorrencias_releases OCR4 WHERE OCR4.id_ocorrencia = O.id ORDER BY OCR4.id DESC LIMIT 1)) ) as nome_usuario_de, (SELECT nome FROM departamentos D WHERE D.id = IF (( SELECT count(*) FROM ocorrencias_releases W_OCR WHERE O.id = W_OCR.id_ocorrencia ) = 0 , O.id_departamento, (SELECT OCR5.id_departamento FROM ocorrencias_releases OCR5 WHERE OCR5.id_ocorrencia = O.id ORDER BY OCR5.id DESC LIMIT 1)) ) as nome_departamento, C.nome as nome_cliente, OT.nome as ocorrencias_tipo_nome FROM ocorrencias O INNER JOIN clientes C ON (C.id = O.id_cliente) INNER JOIN ocorrencias_tipo OT ON (OT.id = O.id_tipo) SERA QUE CONSEGUIMOS OTIMIZAR, PQ TODAS AS VEZES QUE VOU PEGAR UM DADO PRECISO CHECAR SE EXISTE RELEASE OU A POSSIBILIDADE DE CHECAR UMA ÚNICA VEZ SE EXISTE RELEASE. Compartilhar este post Link para o post Compartilhar em outros sites