Ir para conteúdo
Fórum CódigoFonte.net

Xicretinho

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

  1. Xicretinho

    Comando IF no SQL SERVER

    Galera, como podem perceber eu não conheço muito de SQL SERVER e por isso surgem várias dúvidas... A dúvida dessa vez é a seguinte, como é a sintaxe do comando IF no SQL SERVER? Tenho um SELECT e as vezes alguns campos retornam NULL [até aí ok], eu queria colocar uma condição onde: SE tal_campo é NULL eu deixo ele como uma string vazia ' ' Ficou mais ou menos assim: SELECT p.pedNumero, p.pedData, c.cliNome, c.cliEndereco, p.pedEndEntrega, c.cliDDD, c.cliTelefone, i.prodCodigo, i.itemPedQtde, pr.prodUnidade, pr.prodDescricao, i.itemPedValorUnit, v.vendNome, v.vendComissao FROM pedido p INNER JOIN clientes c ON p.cliCPF = c.cliCPF LEFT JOIN itempedido i ON p.pedNumero = i.pedNumero LEFT JOIN produto pr ON pr.prodCodigo = i.prodCodigo INNER JOIN vendedor v ON p.vendCodigo = v.vendCodigo WHERE p.pedNumero = 4 IF c.cliDDD is NULL Then c.cliDDD = '' /** Nessecaso estou validando só o c.cliDDD **/ Mas está me retornando o seguinte erro: Incorrect syntax near the keyword 'Then'. Alguém poderia me ajudar, mostrando a sintaxe e tudo mais? Obrigado desde já...
  2. Ja consegui... de qualquer forma muito obrigado! O problema era com os INNER JOINS! Usei LEFT JOINS em alguns deles, e deu tudo certo... ^^ Abraços
  3. É o seguinte galera, tenho um sistema e em uma das telas desse sistema, o usuário pode adquirir um relatório de PEDIDOS. Certo... Nesse relatório é mostrado informações do CLIENTE, do VENDEDOR, do PEDIDO, e dos ÍTENS PEDIDOS nesse PEDIDO. Por isso o SELECT abaixo: SELECT p.pedNumero, p.pedData, c.cliNome, c.cliEndereco, p.pedEndEntrega, c.cliDDD, c.cliTelefone, i.prodCodigo, i.itemPedQtde, pr.prodUnidade, pr.prodDescricao, i.itemPedValorUnit, v.vendNome, v.vendComissao FROM pedido p INNER JOIN clientes c ON p.cliCPF = c.cliCPF INNER JOIN itempedido i ON p.pedNumero = i.pedNumero INNER JOIN produto pr ON pr.prodCodigo = i.prodCodigo INNER JOIN vendedor v ON p.vendCodigo = v.vendCodigo WHERE p.pedNumero = 3 beleeezaaaa, eu guardo tudo o que vir no SELECT em um DATASET... uso o DATASET pra preencher o relatório com os dados que eu quero ta perfeito, ta funfando certinho!! A questão é a seguinte... O filho da mãe, ta me retornando 0 linhas quando não há registro na tabela "ITEMPEDIDO", sendo que isso é indiferente pro relatório. No relatório o principal objetivo é mostrar dados do PEDIDO e junto os do ITEMPEDIDO que estão ligados de certo modo. Mas quando não há nada no ITEMPEDIDO eu tenho que exibir o relatório pelo menos com os dados do CLIENTE e VENDEDOR. Agora tenho que achar um jeito de fazer com que o SELECT não se importe com a tabela ITEMPEDIDO, apresentando os dados das outras tabelas, qnd a ITEMPEDIDO for vazia... Se alguém tiver uma idéia, fico feliz hahahahahaha Eu empaquei nessa bagaça!! Valeu...
  4. Galera, estou usando SQL SERVER e tudo mais, sou meio novo ainda na linguagem e tal... O problema que tenho é o seguinte, possuo 3 tabelas: VENDEDOR, CLIENTE, PEDIDO. Estou montando a tela de pedido onte terá os campos: Número do Pedido (pedNum), Data (pedData), Nome do Cliente (cliCPF) Nesse último campo que ferra tudo... Preciso fazer com que apareça o nome do cliente, mas na grid da tela vem o CPF, quero transformar em nome, relacionando o cliCPF da tabela PEDIDO com cliCPF da tabela CLIENTE. Como posso fazer? Eu tinha feito o seguinte... SELECT cliente.cliNome FROM cliente INNER JOIN pedido ON cliente.cliCPF = pedido.cliCPF [Tudo certinho, mas com isso tenho o nome do cliente apenas e o resto??] Depois fiz, um SELECT enorme: SELECT pedido.pedNumero, pedido.pedData, pedido.cliCPF, cliente.cliNome, vendedor.vendNome, pedido.pedEndEntrega, pedido.pedValorTotal FROM pedido, cliente, vendedor WHEREcliente.cliCPF = pedido.cliCPF AND pedido.pedNumero = """"texto de um campo de busca"""" [no SQL deu certo novamente, mas na aplicação não rodou, estou programando em VB.NET] [PS: sei que poderia usar o ALIAS nesse segundo caso, mas onde eu trabalho pelo menos pra esse projeto o pessoal não está usando] Alguém saberia me dizer algum meio de se fazer isso?? Valeu, agradeço desde já... Abraços
×
×
  • Criar Novo...