Fórum sub-select com bug será ? #56374
28/06/2006
0
SELECT CCDS, COUNT(CCDS), (SELECT COUNT(L.LTEN) FROM LEITOS L WHERE L.LTEN=INEN) FROM INTERNACAO INNER JOIN LEITOS ON (LTLT=INLT AND LTEN=INEN) INNER JOIN CENTRODECUSTO ON (CCCD=LTCC) WHERE INDI BETWEEN ´05/01/06´ AND ´05/31/06´ AND INDA IS NOT NULL GROUP BY CCDS
porem da erro
quando eu retiro o where
SELECT CCDS, COUNT(CCDS), (SELECT COUNT(L.LTEN) FROM LEITOS L) FROM INTERNACAO INNER JOIN LEITOS ON (LTLT=INLT AND LTEN=INEN) INNER JOIN CENTRODECUSTO ON (CCCD=LTCC) WHERE INDI BETWEEN ´05/01/06´ AND ´05/31/06´ AND INDA IS NOT NULL GROUP BY CCDS
funciona blz, será que alguem tem uma solução para isto ?
Sremulador
Curtir tópico
+ 0Posts
28/06/2006
Sremulador
Gostei + 0
04/07/2006
Sremulador
Gostei + 0
04/07/2006
Emerson Nascimento
Gostei + 0
05/07/2006
Sremulador
Tipo assim
Unidade Qint
10 Leitos 50 Internações
20 Leitos 150 Internações
...
Gostei + 0
05/07/2006
Emerson Nascimento
SELECT CC.CCDS, COUNT(DISTINC INTER.INEN) LEITOS, COUNT(INTER.INEN) INTERNACOES FROM INTERNACAO INTER INNER JOIN CENTRODECUSTO CC ON (CC.CCCD=INTER.LTCC) WHERE INTER.INDI BETWEEN ´05/01/06´ AND ´05/31/06´ AND INTER.INDA IS NOT NULL GROUP BY CC.CCDS
outra coisa: sempre use um identificador para a tabela quando informar um campo. assim nós, que não temos acesso à sua base de dados, pelo menos poderemos ter noção de como proceder com relacionamentos, somas, etc.
Gostei + 0
06/07/2006
Sremulador
SELECT CC.CCDS, COUNT(DISTINC INTER.INEN) [b]LEITOS[/b], COUNT(INTER.INEN) INTERNACOES FROM INTERNACAO INTER INNER JOIN CENTRODECUSTO CC ON (CC.CCCD=INTER.LTCC) WHERE INTER.INDI BETWEEN ´05/01/06´ AND ´05/31/06´ AND INTER.INDA IS NOT NULL GROUP BY CC.CCDS
amigo leitos e outra tabela, então eu quero a quantidade de leitos a quantidade de internação que teve naquele leito no periodo...
valeu...
Gostei + 0
06/07/2006
Emerson Nascimento
me pareceu que você gostaria da quantidade de leitos e a quantidade de internações por unidade.
agora você está dizendo que quer a ´quantidade de leitos e a quantidade de internação que teve naquele leito no periodo´.
então minha pergunta:
- você quer a quantidade de leitos e quantidade de internações por unidade,
ou
- você quer a quantidade de leitos por unidade e a quantidade de internações de cada leito?
mais uma pergunta: você testou a instrução que eu te passei?
Gostei + 0
06/07/2006
Sremulador
sim
sim
quero a quantidade de leitos existentes e a quantidade de internações por unidade de leito, que no caso tem um campo na tabela de leitos que representa a unidade.
SELECT CCDS, COUNT(INCD), COUNT((SELECT COUNT(LTLT) FROM LEITOS WHERE LTLT=INLT AND LTEN=INEN)) TAX FROM INTERNACAO INNER JOIN LEITOS ON (LTLT=INLT AND LTEN=INEN) INNER JOIN CENTRODECUSTO ON (CCCD=LTCC) GROUP BY CCDS
fiz até aqui, porem o resultado não esta bantendo,
valeu...
Gostei + 0
06/07/2006
Emerson Nascimento
de qualquer forma, tente assim:
SELECT INEN UNIDADE, CCDS CENTROCUSTO, COUNT(INCD) INTERNACOES, (SELECT COUNT(LTLT) FROM LEITOS WHERE LTEN=INEN) LEITOS FROM INTERNACAO INNER JOIN CENTRODECUSTO ON (CCCD=LTCC) GROUP BY INEN, CCDS
Gostei + 0
07/07/2006
Sremulador
SELECT INEN UNIDADE, CCDS CENTROCUSTO, COUNT(INCD) INTERNACOES, (SELECT COUNT(L.LTLT) FROM LEITOS L WHERE L.LTEN=INEN AND LTLT=INLT) LEITOSP FROM INTERNACAO INNER JOIN LEITOS ON (LTLT=INLT AND LTEN=INEN) INNER JOIN CENTRODECUSTO ON (CCCD=LTCC) GROUP BY INEN, CCDS
o que você diz ?
Gostei + 0
07/07/2006
Emerson Nascimento
1o. ponha a referencia da tabela nos seus campos quando exemplificar algo para quem não tem acesso à suas tabelas. eu nunca iria saber que o campo LTCC pertece à tabela leitos se você não dissesse...
2o. pelo que eu estou vendo, não poderá ser exibido, em princípio, esse campo do centro de custo (mesmo poque ele não aparece no seu exemplo de resultado). tente assim e veja no que resulta:
SELECT INEN UNIDADE, COUNT(INCD) INTERNACOES, (SELECT COUNT(LTLT) FROM LEITOS WHERE LTEN=INEN) LEITOS FROM INTERNACAO GROUP BY INEN
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)