none
Query SQL RRS feed

  • Pergunta

  • No Access eu tenho uma a expressão:

     

    SELECT  NUM_DTMedicao AS Data, NUM_PercExec AS [%], NUM_USAdicional AS Adic, NUM_USDesconto AS [Desc], NUM_USPaga AS Total,
    NUM_PedidoCompra AS [P.Compra], TAG_Pago, IIf([T_NS_MedicaoServ]![Tag_Pago] = 0, [Não], [Sim]) AS Pago
    FROM T_NS_MedicaoServ
    WHERE     (NUM_ID_NS = 53200)
    ORDER BY NUM_DTMedicao DESC

     

    Como ficaria a mesma expressão no sql server 2000?

    segunda-feira, 11 de junho de 2007 14:12

Respostas

  • Ivanenko, utilize o 'case'..

     

     

     

    SELECT  NUM_DTMedicao AS Data, NUM_PercExec AS [%], NUM_USAdicional AS Adic, NUM_USDesconto AS [Desc],

    NUM_USPaga AS Total, NUM_PedidoCompra AS [P.Compra], TAG_Pago,

     (case when T_NS_MedicaoServ.Tag_Pago = 0 then 'Não' else 'Sim' end) AS Pago

    FROM T_NS_MedicaoServ

    WHERE (NUM_ID_NS = 53200)

    ORDER BY NUM_DTMedicao DESC

     

    abraco!

    segunda-feira, 11 de junho de 2007 16:14
  • Ivanenko,

     

    segue um exemplo do próprio BOL, utilizando o banco Pubs...

     

    USE pubs

    GO

     

    SELECT   Category =
          CASE type
             WHEN 'popular_comp' THEN 'Popular Computing'
             WHEN 'mod_cook' THEN 'Modern Cooking'
             WHEN 'business' THEN 'Business'
             WHEN 'psychology' THEN 'Psychology'
             WHEN 'trad_cook' THEN 'Traditional Cooking'
             ELSE 'Not yet categorized'
          END,
       CAST(title AS varchar(25)) AS 'Shortened Title',
       price AS Price

    FROM titles

    WHERE price IS NOT NULL

    ORDER BY type, price

    COMPUTE AVG(price) BY type

     

     

    qquer coisa, retorne..

     

    abraco!

    segunda-feira, 11 de junho de 2007 22:07

Todas as Respostas

  • Ivanenko, utilize o 'case'..

     

     

     

    SELECT  NUM_DTMedicao AS Data, NUM_PercExec AS [%], NUM_USAdicional AS Adic, NUM_USDesconto AS [Desc],

    NUM_USPaga AS Total, NUM_PedidoCompra AS [P.Compra], TAG_Pago,

     (case when T_NS_MedicaoServ.Tag_Pago = 0 then 'Não' else 'Sim' end) AS Pago

    FROM T_NS_MedicaoServ

    WHERE (NUM_ID_NS = 53200)

    ORDER BY NUM_DTMedicao DESC

     

    abraco!

    segunda-feira, 11 de junho de 2007 16:14
  • Douglas.

     

    Obrigado.

     

    aproveitando esse exemplo, eu aninhar várias opções como em um IF .... Then  ElseIf .....End? Se sim como seria?

     

     

    segunda-feira, 11 de junho de 2007 16:38
  • Ivanenko,

     

    segue um exemplo do próprio BOL, utilizando o banco Pubs...

     

    USE pubs

    GO

     

    SELECT   Category =
          CASE type
             WHEN 'popular_comp' THEN 'Popular Computing'
             WHEN 'mod_cook' THEN 'Modern Cooking'
             WHEN 'business' THEN 'Business'
             WHEN 'psychology' THEN 'Psychology'
             WHEN 'trad_cook' THEN 'Traditional Cooking'
             ELSE 'Not yet categorized'
          END,
       CAST(title AS varchar(25)) AS 'Shortened Title',
       price AS Price

    FROM titles

    WHERE price IS NOT NULL

    ORDER BY type, price

    COMPUTE AVG(price) BY type

     

     

    qquer coisa, retorne..

     

    abraco!

    segunda-feira, 11 de junho de 2007 22:07