Jump to content

Search the Community

Showing results for tags 'left join'.



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
  • Web Development
    • HTML e CSS
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets and other environments
    • WordPress
    • Mobile
    • Agile
    • Desenvolvimento de Games
    • Banco de Dados
    • Design and UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • iMasters's pub

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 4 results

  1. Boa noite pessoal, tudo bem? É o seguinte, estou iniciando na área de SQL (inclusive já peço desculpas pelos possíveis erros) e trabalho montando relatórios para um sistema via SQL. Estou montando um relatório que envolve algumas tabelas e preciso somar o valor de uma coluna, ocorre que quando uso a função SUM no select com as junções das tabelas ele não me retorna a soma dos valores, se somo sem as junções das tabelas ele me retorna perfeitamente, segue abaixo o script: Script que trás a soma corretamente: SELECT SUM(VALOR) FROM sophia.MOVFIN WHERE VENDA = '14617' AND PARCELA = '2' Resultado --------------------------------------- 329.0000 (1 linha(s) afetadas) Script onde a soma não funciona corretamente: SELECT DISTINCT T.CODIGO As CODTURMA, F.NOME As NOME, F.CPF As CPF, T.NOME As TURMA, S.DESCRICAO As SEGMENTO, F.CODEXT As RA, F.OBSERVACOES As OBSERVAÇÃO, case M.STATUS WHEN 0 then 'Ativa' WHEN 1 then 'Trancada' WHEN 2 then 'Cancelada' WHEN 3 then 'Transferida' WHEN 4 then 'Evadida' WHEN 5 then 'Concluída' end as STATUS, TAB.DESCRICAO1 As INDICADOPOR, SUM(MEN.VALOR) As MENSALIDADE FROM SophiA.TURMAS T LEFT join sophia.MATRICULA M on M.TURMA_REGULAR = T.CODIGO LEFT join sophia.FISICA F on F.CODIGO = M.FISICA LEFT join sophia.DADOSPF DF on DF.FISICA = F.CODIGO LEFT join sophia.SEGMENTOS S on S.CODIGO = DF.SEGMENTO LEFT join sophia.TAB_DESCRICAO_DADOS TAB on TAB.FISICA = F.CODIGO LEFT join sophia.MOVFIN MOV ON MOV.VENDA = M.VENDA and MOV.PARCELA = '2' LEFT join sophia.MOVFIN MEN ON MEN.TITULO = MOV.TITULO WHERE T.CODIGO = '2214' GROUP BY T.CODIGO, F.NOME, F.CPF, T.NOME, S.DESCRICAO, F.CODEXT, F.OBSERVACOES, M.STATUS, TAB.DESCRICAO1, MEN.VALOR Desta forma, basicamente trás como resultado os três registros (mesma quantidade de registro que existe na tabela para estas condições) com números bem diferentes do registro real, não consegui associar os números a uma referencia para entender o que ocorre. Talvez algo que seja relevante mencionar é que pode-se conter números negativos nos registros, inclusive nessas colunas deste duas querys existem números negativos. Agradeço muito a atenção de todos! :)
  2. vitorweb

    Repetição LEFT JOIN

    Galera tenho a seguinte query, estou fazendo o left join de 4 colunas para realizar a busca em todas as tabelas ao mesmo tempo, porém os dados estao vindo duplicados: SELECT sys_companies.id AS cpny_id, sys_companies_offers.id AS of_id, sys_companies_post.id AS pst_id, sys_companies.name AS cpny_name, sys_companies.email AS cpny_email, sys_companies.type AS cpny_type, sys_companies.logoUrl AS cpny_logo, sys_companies.description AS cpny_desc, sys_companies.website AS cpny_wsite, sys_companies.fb AS cpny_fb, sys_companies.twt AS cpny_twt, sys_companies.inst AS cpny_inst, sys_companies.att AS cpny_att, sys_companies.link AS cpny_link, sys_companies_address.city AS adr_city, sys_companies_address.state AS adr_state, sys_companies_address.zipcode AS adr_zip, sys_companies_address.address AS adr_addr, sys_companies_address.neigh AS adr_ngh, sys_companies_address.number AS adr_num, sys_companies_address.compl AS adr_compl, sys_companies_address.lat AS adr_lat, sys_companies_address.lon AS adr_lon, sys_companies_address.tel1 AS adr_tel1, sys_companies_address.tel2 AS adr_tel2, sys_companies_category.name AS catName, sys_companies_offers.title AS of_title, sys_companies_offers.brand AS of_brand, sys_companies_offers.description AS of_desc, sys_companies_offers.img_url AS of_imgu, sys_companies_offers.price AS of_prc, sys_companies_offers.link AS of_link, sys_companies_offers.createDate AS of_crtd, sys_companies_post.description AS pst_desc, sys_companies_post.link_video AS pst_link, sys_companies_post.createDate AS pst_crtd FROM sys_companies LEFT JOIN sys_companies_address ON sys_companies_address.id_company = sys_companies.id LEFT JOIN sys_companies_category ON sys_companies_category.id = sys_companies.id_category LEFT JOIN sys_companies_offers ON sys_companies_offers.id_company = sys_companies.id LEFT JOIN sys_companies_post ON sys_companies_post.id_company = sys_companies.id WHERE sys_companies_address.city = 'rio claro' AND sys_companies_address.state = 'sp' AND (MATCH (sys_companies.tag) AGAINST('arquiteto') OR MATCH (sys_companies.name) AGAINST('arquiteto') OR MATCH (sys_companies_post.description) AGAINST('arquiteto') OR MATCH (sys_companies_offers.title) AGAINST('arquiteto')) ORDER BY `sys_companies`.`type` DESC limit 0,16 Retorno: imagem erro.png retorno desejado: imagem desejado.png Obrigado! Retorno da query: Desejado: Gostaria de trazer as possibilidades de busca para eu gerar diferentes modos de exibições para as diferentes tabelas, para eu determinar um layout para o retorno... baseadas nos campos que estão em branco ou NULL
  3. Olá pessoal, gostaria de saber se é possível e como limitar a quantidade de linha retornadas usando JOIN. A ideia é limitar a quantidade de linhas retornadas da tabela filho em relação a cada linha da tabela pai. Ex. Tenho 10 registros de imóveis na tabela_imv e cada um destes possui mais de 12 imagens na tabela_imgs (cada imagem em uma linha diferente). Usando o LEFT JOIN gostaria que para cada imóvel fossem trazidas apenas 5 imagens usando LIMIT 5 de modo que a cada 5 imagens encontradas, a busca cessasse na tabela filho, e retomasse procurando as 5 primeiras imagens do próximo imóvel. Desde já agradeço a atenção.
  4. Olá pessoal, não sei se é possível mas minha ideia seria usar o operador IN dentro de um JOIN substituindo o "=". Ex: Teria uma tabela itens_cardapio (car_id, car_nome, car_bebidas) e outra tabela > bebidas (b_id, b_nome) Sei que poderia relaciona n:m tendo uma tabela tipo itens_cardapio_has_bebidas (fk_car_id, fk_b_id) porém queria fazer diferente pois para o que quero isso geraria muitas linhas na tabela de junção. Gostaria que o campo car_bebidas na 1ª tabela armazenasse os ids das bebidas da 2ª tabela. Ex. car_bebidas=1,2,5,6,9,11 e na consulta ficaria algo do tipo: SELECT i.* , GROUP_CONCAT(b.b_nome) FROM itens_cardapio i INNER JOIN bebidas b ON (b.b_id IN i.car_bebidas) Tentei também algo tipo SELECT i.* , (SELECT b.nome FROM bebidas b WHERE b.b_id IN i.car_bebidas) FROM itens_cardapio i Usei algumas variação com GROUP BY e GROUP_CONCAT,... Consegui obter resultados como: - a primeira bebida de cada item do cardápio - repetir várias vezes cada bebida por item, e outros, mas nenhum 100% correto. Se no IN usar os números dos ids das bebidas manualmente, ao invés de puxar de um campo, ele busca as bebidas pedidas, porém não fica dinâmico, pois é sempre os mesmos números de modo a todos itens do cardápio ficaram com (coca-cola,sprite,fanta) por exemplo. Se tiverem alguma ideia agradeço.
×

Important Information

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