Select Distinct usando Ado DataSet
Bom dia galera !!!
Estou executando um SQL através de ADO DataSet, só que a cláusula ´DISTINCT´ não está me dando o retorno desejado. Gostaria de saber se alguém poderia me ajudar . A instrução é a seguinte:
SELECT DISTINCT gru_ctr_estoq
FROM logix.grupo_ctr_estoq
WHERE cod_empresa IN (´01´, ´02´)
ORDER BY gru_ctr_estoq
Os registros estão vindo duplicados, sendo que o campo gru_ctr_estoq tem valores iguais para empresas diferentes, por isso uso o DISTINCT para trazer este valor uma única vez.
Exemplo:
Para a empresa 01 tenho o campo gru_ctr_estoq com o valor A
Para a empresa 02 tenho o campo gru_ctr_estoq com o valor A
A Chave primária desta tabela é formada pelos campos gru_ctr_estoq e cod_empresa.
Executo está mesma instrução no prompt do SQL/PLUS e o seu retorno vem corretamente.
Estou executando um SQL através de ADO DataSet, só que a cláusula ´DISTINCT´ não está me dando o retorno desejado. Gostaria de saber se alguém poderia me ajudar . A instrução é a seguinte:
SELECT DISTINCT gru_ctr_estoq
FROM logix.grupo_ctr_estoq
WHERE cod_empresa IN (´01´, ´02´)
ORDER BY gru_ctr_estoq
Os registros estão vindo duplicados, sendo que o campo gru_ctr_estoq tem valores iguais para empresas diferentes, por isso uso o DISTINCT para trazer este valor uma única vez.
Exemplo:
Para a empresa 01 tenho o campo gru_ctr_estoq com o valor A
Para a empresa 02 tenho o campo gru_ctr_estoq com o valor A
A Chave primária desta tabela é formada pelos campos gru_ctr_estoq e cod_empresa.
Executo está mesma instrução no prompt do SQL/PLUS e o seu retorno vem corretamente.
Mascotepc
Curtidas 0
Respostas
Mprocha
01/12/2003
tente usar o Group by se for viável p/ vc:
SELECT gru_ctr_estoq
FROM GRU_CTR_ESTOQ
WHERE cod_empresa IN (´01´, ´02´)
group BY GRU_CTR_ESTOQ
e coloque o name da tabela em maiusculo. Uma vez em um treinamento que fiz o instrutor disse que quando se conecta com Oracle é bom colocar as tabelas em maiusculo, mas não sei até que ponto isso é verdade.
[]s
Marcos Rocha
SELECT gru_ctr_estoq
FROM GRU_CTR_ESTOQ
WHERE cod_empresa IN (´01´, ´02´)
group BY GRU_CTR_ESTOQ
e coloque o name da tabela em maiusculo. Uma vez em um treinamento que fiz o instrutor disse que quando se conecta com Oracle é bom colocar as tabelas em maiusculo, mas não sei até que ponto isso é verdade.
[]s
Marcos Rocha
GOSTEI 0