Jump to content

Search the Community

Showing results for tags 'union'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 8 results

  1. Tenho uma tabela de cadastro de equipamento chamada de taob, e outra tabela com cadastro de eventos de manutenção chamada de tcev. Meu objetivo é listar por categoria de equipamentos (dimensão do indicador) as quantidades de eventos por cada dia num determinado mês, obtendo sua média e desvio-padrão nos dias. Nem todo dia haverá um evento de manutenção em um determinado equipamento, logo preciso que apareça zero neste dia para fins de cálculo do desvio-padrão. Como não gostaria de criar uma tabela "física" no banco para não ficar uma bagunça quando mudar os períodos (várias consultas), fiz uma tabela temporária na memória, desta forma: CREATE TEMPORARY TABLE periodo (dia1 date, primary key (dia1)) ENGINE MEMORY; Depois inseri os dados, para ter a lista dia a dia. INSERT INTO periodo (dia1) VALUES ('2017-11-01'); INSERT INTO periodo (dia1) VALUES ('2017-11-02'); INSERT INTO periodo (dia1) VALUES ('2017-11-03'); INSERT INTO periodo (dia1) VALUES ('2017-11-04'); INSERT INTO periodo (dia1) VALUES ('2017-11-05'); INSERT INTO periodo (dia1) VALUES ('2017-11-06'); INSERT INTO periodo (dia1) VALUES ('2017-11-07'); INSERT INTO periodo (dia1) VALUES ('2017-11-08'); INSERT INTO periodo (dia1) VALUES ('2017-11-09'); INSERT INTO periodo (dia1) VALUES ('2017-11-10'); INSERT INTO periodo (dia1) VALUES ('2017-11-11'); INSERT INTO periodo (dia1) VALUES ('2017-11-12'); INSERT INTO periodo (dia1) VALUES ('2017-11-13'); INSERT INTO periodo (dia1) VALUES ('2017-11-14'); INSERT INTO periodo (dia1) VALUES ('2017-11-15'); INSERT INTO periodo (dia1) VALUES ('2017-11-16'); INSERT INTO periodo (dia1) VALUES ('2017-11-17'); INSERT INTO periodo (dia1) VALUES ('2017-11-18'); INSERT INTO periodo (dia1) VALUES ('2017-11-19'); INSERT INTO periodo (dia1) VALUES ('2017-11-20'); INSERT INTO periodo (dia1) VALUES ('2017-11-21'); INSERT INTO periodo (dia1) VALUES ('2017-11-22'); INSERT INTO periodo (dia1) VALUES ('2017-11-23'); INSERT INTO periodo (dia1) VALUES ('2017-11-24'); INSERT INTO periodo (dia1) VALUES ('2017-11-25'); INSERT INTO periodo (dia1) VALUES ('2017-11-26'); INSERT INTO periodo (dia1) VALUES ('2017-11-27'); INSERT INTO periodo (dia1) VALUES ('2017-11-28'); INSERT INTO periodo (dia1) VALUES ('2017-11-29'); INSERT INTO periodo (dia1) VALUES ('2017-11-30'); Agora que tenho minha tabela temporária, fiz uma combinação dos dados através do from. (...) from (periodo, taob) Quando se usa esta notação no lugar do inner ou left ou right join, haverá uma combinação dos dados entre as tabela periodo e taob, que é o desejado para ter todos os dias por equipamento. Alinhando essas premissas, segue o problema: -> Fiz uma união entre esta combinação com os dados dos eventos, e usei um DISTINCT para não ter repetição dos dados, que não funcionou muito bem. Tive que colocar um group by no final para funcionar. Quando fui obter o desvio-padrão e a média percebi que a fórmula estava considerando todos os dados (inclusive os retirados pelo DISTINCT+GROUP BY), eu preciso que calcule somente os visíveis. Segue código: SELECT DISTINCT Dimensao, dt1, SUM(Qtde), STDDEV_SAMP(Qtde) as desvPad, AVG(Qtde) as media FROM ( ( select taob.CXN3 as Dimensao, Date(tcev.CXDE) as dt1, count(tcev.PIEV) as Qtde from taob left join tcev on (taob.PIOB = tcev.SIOB) where tcev.SIGR=3 and tcev.CXDE between '2017-11-01' and '2017-11-30' group by taob.CXN3, Date(tcev.CXDE) ) UNION DISTINCT ( select taob.CXN3 as Dimensao, periodo.dia1 as dt1, 0 as Qtde from (periodo, taob) where taob.SIGR=3 ) order by Dimensao, dt1, Qtde desc ) as lista GROUP BY Dimensao em anexo o resultado da consulta. Verificando os dados no excel (calculando na "mão") o resultado do desvPad (AMOSTRAL) a dimensão DL deveria ser igual a 2,9752 e se eu considerar os zeros que o DISTINCT "eliminou" a conta (na "mão") bate com o resultado do sql com o valor de 2.8045. Alguém consegue me dar uma pista do que pode estar acontecendo? Ou é uma coisa besta ou é um bom problema. Como sempre! rs! Algumas considerações: taob.CXN3 = Dimensão do equipamento ou indicador. tcev.CXDE = Data do evento de manutenção. tcev.PIEV = Chave primária da tabela de eventos de manutenção. taob.PIOB = Chave primária da tabela de equipamentos ou dimensao do indicador. tcev.SIGR = Grupo de cliente = 3 Att, Alanderson A Dalmaso
  2. Opa pessoal , Preciso de ajuda aqui, tenho o seguinte código: Query7.Close; Query7.SQL.Clear; Query7.SQL.Add('SELECT SUM(E.Quantidade) AS PesoHG, SUM(E.Quantidade* :Chg) as CustoHg FROM Estoque AS E, Cad_Produtos AS C WHERE E.PRODUTO = C.PRODUTO AND e.Lote LIKE '''+edit1.Text+'%'' and E.Quantidade >0 and C.Aplicacao =''MATÉRIA- PRIMA'' and C.DESCRICAO LIKE ''%HG%'''); Query7.ParamByName('Chg').Value := strtoFloat(EdtHG.Text); Query7.Open; Query8.Close; Query8.SQL.Clear; Query8.SQL.Add('SELECT SUM(E.Quantidade) AS pesoPOSTA, SUM(E.Quantidade * :CPost) AS CustoPosta FROM Estoque AS E, Cad_Produtos AS C WHERE E.PRODUTO = C.PRODUTO AND e.Lote LIKE '''+edit1.Text+'%'' and E.Quantidade >0 and C.Aplicacao =''MATÉRIA- PRIMA'' and C.DESCRICAO LIKE ''%posta%'''); Query8.ParamByName('CPost').Value := strtoFloat(EdtPost.Text); Query8.Open; Preciso mostrar a soma de (CustoHg+CustoPosta) no relatório, o que devo fazer?? Desde já agradeço ;-)
  3. Preciso unir dois selects para isso eu to fazendo o seguinte: select X.ID, X.Razao, X.CNPJ from tabela 1 right join tabela X on X.ID = 1.ID union select X.ID, X.Razao, X.CNPJ from tabela 2 right join tabela X on X.ID = 2.ID Até aí blz..me traz o registro certinho: 1 X 11.111.111/1111-11 2 XY 22.222.222/2222-22 3 XYZ 33.333.333/3333-33 Só que eu preciso de mais um dado select X.ID, X.Razao, X.CNPJ, COUNT(X.ID) as QtdeTabela1, '' as QtdeTabela2 from tabela 1 right join tabela X on X.ID = 1.ID group by X.ID, X.Razao, X.CNPJ union select X.ID, X.Razao, X.CNPJ, '' as QtdeTabela1, COUNT(X.ID) as QtdeTabela2 from tabela 2 right join tabela X on X.ID = 2.ID group by X.ID, X.Razao, X.CNPJ Daí, traz assim: 1 X 11.111.111/1111-11 3 0 2 XY 22.222.222/2222-22 2 0 3 XYZ 33.333.333/3333-33 1 0 3 XYZ 33.333.333/3333-33 0 1 Eu preciso que gere assim o resultado: 1 X 11.111.111/1111-11 3 0 2 XY 22.222.222/2222-22 2 0 3 XYZ 33.333.333/3333-33 1 1 Alguém pode me ajudar, por gentileza?
  4. Olá pessoal. Tenho o seguinte código onde tenho duas queries, na primeira capturo o COUNT do campo nome_usuario, na segunda seleciono os campos que desejo. Gostaria de melhorar a performance, fazendo uma só query. Alguém pode me ajudar? <?php defined('BASEPATH') OR exit('No direct script access allowed'); class TodosAgendamentosFuturos_model extends CI_Model{ public function main($funcionario, $dataAtual, $limit, $start) { //Array para guardar dados a serem retornados $resultados = array(); //QUERY TO BIND TOTALCOUNT $sql = "SELECT DISTINCT COUNT(u.nome_usuario) AS total FROM horariosfuncionario hfs INNER JOIN usuario u INNER JOIN statushorariofuncionario shf INNER JOIN funcionario f INNER JOIN agendamento a INNER JOIN formapagamentosalao fps ON a.codigo_formapagamentosalao = fps.codigo_formapagamentosalao AND a.codigo_usuario = u.codigo_usuario AND a.codigo_horariosfuncionario = hfs.codigo_horariosfuncionario AND shf.codigo_statushorariofuncionario = hfs.codigo_statushorariofuncionario AND f.codigo_funcionario = hfs.codigo_funcionario WHERE STR_TO_DATE(hfs.data_horariosfuncionario, '%d/%m/%Y') > STR_TO_DATE(?, '%d/%m/%Y') AND f.codigo_funcionario = ? ORDER BY STR_TO_DATE(hfs.data_horariosfuncionario, '%d/%m/%Y'), STR_TO_DATE(hfs.horario_horariosfuncionario,'%H:%i')"; $total = $this->db->query($sql, array($dataAtual, $funcionario)); //Selecionando todos agendamentos futuros $sql = "SELECT DISTINCT u.nome_usuario, u.telefone1_usuario, u.telefone2_usuario, a.codigo_agendamento, hfs.horario_horariosfuncionario, hfs.data_horariosfuncionario, a.comentario_agendamento, fps.nome_formapagamentosalao FROM horariosfuncionario hfs INNER JOIN usuario u INNER JOIN statushorariofuncionario shf INNER JOIN funcionario f INNER JOIN agendamento a INNER JOIN formapagamentosalao fps ON a.codigo_formapagamentosalao = fps.codigo_formapagamentosalao AND a.codigo_usuario = u.codigo_usuario AND a.codigo_horariosfuncionario = hfs.codigo_horariosfuncionario AND shf.codigo_statushorariofuncionario = hfs.codigo_statushorariofuncionario AND f.codigo_funcionario = hfs.codigo_funcionario WHERE STR_TO_DATE(hfs.data_horariosfuncionario, '%d/%m/%Y') > STR_TO_DATE(?, '%d/%m/%Y') AND f.codigo_funcionario = ? ORDER BY STR_TO_DATE(hfs.data_horariosfuncionario, '%d/%m/%Y'), STR_TO_DATE(hfs.horario_horariosfuncionario,'%H:%i') LIMIT ".$limit." OFFSET ".$start; $resultado = $this->db->query($sql, array($dataAtual, $funcionario)); //Percorrendo resultados retornados foreach ($resultado->result() as $row) { //Captura dia da semana da data enviada como parâmetro usando o helper dia_semana $dia = diasemana($dataAtual); //Adiciona resultados no array resultados array_push($resultados, array('nome_usuario' => $row->nome_usuario, 'telefone1_usuario' => $row->telefone1_usuario, 'telefone2_usuario' => $row->telefone2_usuario, 'codigo_agendamento' => $row->codigo_agendamento, 'horario' => $row->horario_horariosfuncionario, 'data' => $row->data_horariosfuncionario, 'nomeDiaSemana' => $dia, 'comentario' => $row->comentario_agendamento, 'formaPagamento' => $row->nome_formapagamentosalao)); } $rows = $resultados; $data = array( "success"=>true, "totalCount"=>$total->row()->total, "menu"=>$rows ); echo json_encode($data); } }
  5. murruguinha

    Consulta select atraves do union

    Boa Tarde não consigo fazer sair resultado nessa consulta, quando uso um gerenciador de consulta, funciona, porem em php não sai resultado, mas tambem não dá erro. No gerenciado de mysql faço a consulta desse jeito: SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep <= '02673-000' ORDER BY cep DESC LIMIT 4 UNION SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep >'02673-000' ORDER BY cep LIMIT 4 or (SELECT * FROM parceiro WHERE cep <='02673-000' ORDER BY cep DESC LIMIT 4) UNION (SELECT * FROM parceiro WHERE cep >'02673-000' ORDER BY cep LIMIT 4); ======================= No PHP ======================= <!DOCTYPE html> <html lang="en"> <head> <style type="text/css"> <!-- body,td,th { font-family: Verdana, Geneva, sans-serif; font-size: 12px; } --> </style> <? // Conexão com o banco de dados $conn = @mysql_connect("179.188.16.43", "maruyamafregue", "senha") or die ("Problemas na conexão."); $db = @mysql_select_db("maruyamafregue", $conn) or die ("Problemas na conexão"); ?> </head> <body> <form id="form1" name="form1" method="post" action=""> CEP <input type="text" name="pesq_cep" id="pesq_cep" /> <input type="submit" name="alterar" id="alterar" value="ok" /> </form> <br> <?php $tabela = mysql_query("SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep <= '02673-000' ORDER BY cep DESC LIMIT 4 UNION SELECT id_parc,parceiro,ramo,cep,endereco,bairro FROM parceiro WHERE cep >'02673-000' ORDER BY cep LIMIT 4"); while ($resultado = mysql_fetch_array($tabela)) /* echo $id = $resultado['id_parc'];*/ { ?> <table width="600" border="1"> <tr> <td><?php echo $parceiro = $resultado['parceiro']; ?></td> <td><?php echo $cep = $resultado['cep']; ?></td> </tr> </table> <?php }?> </body> </html> Alguem pode me ajudar a finalizar essa query no php?
  6. Preciso selecionar todos horários dos funcionários (horario_horariofuncionario) de acordo com a filtragem de serviço, data e dia da semana. Estou conseguindo fazer esse select normalmente, porém como são vários horários (horario_horariofuncionario) está sendo gerado um novo resultado para cada novo horário encontrado... E nesses resultados, claro, o único atríbuto que os diferencia é o horario_horariofuncionario o resto dos atríbutos são todos iguais. Então o que eu gostaria é que todos os horario_horariofuncionario fossem retornados em APENAS UM RESULTADO juntamente com o restante dos atríbutos em vez de retornar um novo resultado para cada horario_horariofuncionario... SELECT hf.horario_horariofuncionario, hf.codigo_horariofuncionario, s.nome_servico, ss.tempo_servicosalao, ss.preco_servicosalao, hf.data_horariofuncionario, ds.nome_diasemana, f.nome_funcionario, f.apelido_funcionario, f.foto_funcionario FROM servicosalao ss INNER JOIN servico s INNER JOIN diasemana ds INNER JOIN horariofuncionario hf INNER JOIN funcionario f INNER JOIN servicofuncionario sf ON hf.codigo_funcionario = f.codigo_funcionario WHERE sf.codigo_servicosalao = :servico AND hf.data_horariofuncionario = :data AND ds.nome_diasemana = :diaDaSemana AND hf.codigo_statushorariofuncionario = 1;
  7. Boa tarde pessoal! Então, estou precisando fazer uma consulta no banco aqui mas estou tendo muita dificuldade. Eu tenho as seguintes tabelas: Filiado - Contem os dados do filiado como ID, Data de filiação, etc. Franquia - Contem os dados da franquia como ID, Nome, etc. Contrato - Contem os dados do contrato de cobrança, como forma de pagamento, etc. Lancamento - Contem os dados dos lancamentos, como dt_baixa, que é a data que a mensalidade foi paga. Forma_Pgto - E os dados da forma de pagamento como ID, nome(Ex: boleto). E preciso fazer a seguinte consulta: Contas os filiados que se cadastraram em janeiro por franquia e por forma de pagamento; E contar quantas dessas pessoas que se filiarem em janeiro que pagaram a mensalidade de fevereiro, março, e assim por diante. Eu já tenho esta consulta: DECLARE @DT_INI DATETIME DECLARE @DT_FIM DATETIME SET @DT_INI = '2015-01-01 00:00.000' SET @DT_FIM = '2015-01-31 23:59.999' SELECT B.NOME_FANTASIA, E.NOME, COUNT(A.ID_FILIADO) FROM FILIADO A JOIN FRANQUIA B ON B.ID_FRANQUIA = A.ID_FRANQUIA JOIN CONTRATO C ON C.ID_FILIADO = A.ID_FILIADO JOIN LANCAMENTO D ON D.ID_CONTRATO = C.ID_CONTRATO JOIN FORMA_PGTO E ON E.ID_FORMA_PGTO = C.ID_FORMA_PGTO WHERE A.DT_FILIACAO BETWEEN @DT_INI AND @DT_FIM GROUP BY B.NOME_FANTASIA, E.NOME ORDER BY B.NOME_FANTASIA, E.NOME Essa consulta está contando quantos filiados se cadastraram em janeiro por forma de pagamento e por franquia. Ex: NOME_FANTASIA NOME QTD -------------------------------------------------- ---------------------------------------------------------------------------------------------------- ----------- Franquia 1 BOLETO 100 Franquia 1 CARTAO 100 Franquia 2 BOLETO 100 Franquia 2 CARTAO 100 Só que eu não faço a minima ideia de como contar quais desses filiados de janeiro pagaram as mensalidades destes determinados meses. Se alguém puder ajudar eu agradeço demais.
  8. Tenho duas consultas SQL, que vão numa base do Oracle mas funcionam pelo SQL Server: Consulta 1 SELECT IDHOTEL AS idhotel, RAZAOSOCIAL AS razaosocial, NOSSONUMERO AS nossonumero, NUMERODOCUMENTO AS numerodocumento, CAST(VALOR AS NUMERIC(15,2)) AS valor, END1 AS end1, END2 AS end2, replace(convert(NVARCHAR, DATAEMISSAO, 103), '-', '/') AS dataemissao, replace(convert(NVARCHAR, DATAPROGRAMADA, 103), '-', '/') AS datavencimento, HISTORICOCOMPL AS historico, NUMEROBOLETO AS numeroboleto, NUMLEITOR AS numleitor, (SUBSTRING(CODCONTA,1,4)+'/'+SUBSTRING(CODCONTA,5,5)+'-'+SUBSTRING(CODCONTA,10,2)) AS codconta, NOSSONUMERO AS nossonumero, STATUS AS status FROM OPENQUERY (CM_ORACLE,'SELECT DISTINCT D.IDHOTEL AS IDHOTEL, P.RAZAOSOCIAL AS RazaoSocial, (E.LOGRADOURO || '', '' || E.NUMERO || '' - '' || E.COMPLEMENTO) AS END1, (E.BAIRRO || '' - '' || SUBSTR(E.CEP,1,5) || ''-'' || SUBSTR(E.CEP,6,3) || '' - '' || C.NOME || ''/'' || C.UF ) AS END2, P.NOME AS Nome, D.DATAPROGRAMADA AS DataProgramada, ROUND(L.VALOR,2) AS Valor, L.HISTORICOCOMPL AS HistoricoCompl, D.NODOCUMENTO || '' '' || D.COMPLDOCUMENTO AS NumeroDocumento, D.NUMDIGCODBARRAS AS NumeroBoleto, D.NUMLEITCODBARRAS AS NumLeitor, D.DATAEMISSAO AS DataEmissao, D.DATAVENCTO AS DataVencimento, PT.NUMEMPRESABANCO AS CodConta, L.DATALANCTO AS DataLancamento, D.NOSSONUMERO AS NossoNumero, S.SALDO AS Saldo, (CASE D.STATUS WHEN ''1'' THEN ''PENDENTE'' ELSE ''PAGO'' END) AS Status, D.CODDOCUMENTO AS CodDocumento, D.NUMFATURA AS NumeroFatura FROM DOCUMENTO D, PESSOA P, LANCTODOCUM L, ENDPESS E, CIDADES C, PORTADORFORMA PT, ( SELECT (0) AS CODDOCUMENTO, (0.00) AS SALDO FROM DUAL ) S, TIPODOCRECPAG WHERE ( D.IDFORCLI = P.IDPESSOA ) AND ( P.IDPESSOA = E.IDPESSOA ) AND ( E.IDCIDADES = C.IDCIDADES ) AND ( D.CODDOCUMENTO = L.CODDOCUMENTO ) AND ( D.OPERACAO = L.OPERACAO ) AND ( D.CODPORTFORMA = PT.CODPORTFORMA(+) ) AND ( ((RTRIM(L.HISTORICOCOMPL) <> ''ESTORNO'') OR (L.HISTORICOCOMPL IS NULL)) ) AND ( TIPODOCRECPAG.CODTIPDOC=D.CODTIPDOC ) AND ( D.RECPAG = ''R'' ) AND ( EXISTS (SELECT CODTIPDOC FROM TIPODOCRECPAG A WHERE A.RECPAG = ''R'' AND A.CODTIPDOC = TIPODOCRECPAG.CODTIPDOC AND NOT EXISTS ( SELECT 1 FROM USUARIOXTPDOCTO B WHERE RECPAG = ''R'' AND B.IDUSUARIO = 80664974) UNION SELECT CODTIPDOC FROM TIPODOCRECPAG A WHERE A.RECPAG = ''R'' AND A.CODTIPDOC = TIPODOCRECPAG.CODTIPDOC AND EXISTS (SELECT 1 FROM USUARIOXTPDOCTO B WHERE RECPAG = ''R'' AND A.CODTIPDOC = B.CODTIPDOC AND B.IDUSUARIO = 80664974) ) ) AND (D.DATAPROGRAMADA > TO_DATE(''01/01/2015'', ''dd/mm/yyyy'')) ORDER BY RazaoSocial ASC') WHERE IDHOTEL = 239 AND NOSSONUMERO <> '' AND DATAPROGRAMADA BETWEEN (cast(2015 as varchar(4)) + '-' + cast(07 as varchar(2)) + '-' + cast(01 as varchar(2))) AND (cast(2015 as varchar(4)) + '-' + cast(07 as varchar(2)) + '-' + cast(31 as varchar(2))) AND (HISTORICOCOMPL LIKE '%capital%' OR HISTORICOCOMPL LIKE '%giro%' OR HISTORICOCOMPL LIKE '%pré%') Consulta 2 SELECT IDHOTEL,RazaoSocial,CAST(TotalPago AS NUMERIC(15,2)) AS TotalPago,CAST(TotalPendente AS NUMERIC(15,2)) AS TotalPendente FROM OPENQUERY (CM_ORACLE,'SELECT DISTINCT D.IDHOTEL, P.RAZAOSOCIAL AS RazaoSocial, SUM(ROUND((CASE D.STATUS WHEN ''1'' THEN L.VALOR ELSE 0 END),2)) AS TotalPendente, SUM(ROUND((CASE D.STATUS WHEN ''1'' THEN 0 ELSE L.VALOR END),2)) AS TotalPago FROM DOCUMENTO D, PESSOA P, LANCTODOCUM L, ENDPESS E, CIDADES C, PORTADORFORMA PT, ( SELECT (0) AS CODDOCUMENTO, (0.00) AS SALDO FROM DUAL ) S, TIPODOCRECPAG WHERE ( D.IDFORCLI = P.IDPESSOA ) AND ( P.IDPESSOA = E.IDPESSOA ) AND ( E.IDCIDADES = C.IDCIDADES ) AND ( D.CODDOCUMENTO = L.CODDOCUMENTO ) AND ( D.OPERACAO = L.OPERACAO ) AND ( D.CODPORTFORMA = PT.CODPORTFORMA(+) ) AND ( ((RTRIM(L.HISTORICOCOMPL) <> ''ESTORNO'') OR (L.HISTORICOCOMPL IS NULL)) ) AND ( TIPODOCRECPAG.CODTIPDOC=D.CODTIPDOC ) AND ( D.RECPAG = ''R'' ) AND ( EXISTS (SELECT CODTIPDOC FROM TIPODOCRECPAG A WHERE A.RECPAG = ''R'' AND A.CODTIPDOC = TIPODOCRECPAG.CODTIPDOC AND NOT EXISTS ( SELECT 1 FROM USUARIOXTPDOCTO B WHERE RECPAG = ''R'' AND B.IDUSUARIO = 80664974) UNION SELECT CODTIPDOC FROM TIPODOCRECPAG A WHERE A.RECPAG = ''R'' AND A.CODTIPDOC = TIPODOCRECPAG.CODTIPDOC AND EXISTS (SELECT 1 FROM USUARIOXTPDOCTO B WHERE RECPAG = ''R'' AND A.CODTIPDOC = B.CODTIPDOC AND B.IDUSUARIO = 80664974) ) ) AND (D.NOSSONUMERO <> ''NULL'') AND (D.DATAPROGRAMADA >= TO_DATE(''01/01/2014'', ''dd/mm/yyyy'')) GROUP BY D.IDHOTEL,RazaoSocial ORDER BY RazaoSocial ASC') WHERE IDHOTEL = 239 Eu queria poder agrupar os dados das duas consultas pelos campos IDHotel e RazãoSocial, que existem em ambas. É possível fazer isso? Tentei com UNION, mas aí ele me dá sempre duas linhas diferentes.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.