Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

urgente consulta complicada

Estas en el tema de urgente consulta complicada en el foro de SQL Server en Foros del Web. tengo un problema con esta consulta neceito mostar el mes de diciembre enero febrero es por un tema de sierres de años americanos pero que ...
  #1 (permalink)  
Antiguo 06/08/2010, 17:31
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
urgente consulta complicada

tengo un problema con esta consulta

neceito mostar el mes de diciembre enero febrero es por un tema de sierres de años americanos pero que le digo en esta consulta muetsre desde esta fecha el periodo 1 que es 12 es diciembre 2008, 2 es enenro2009 y 3 es febrero eso es el primer trimestre

pero esta cosnulta me esta arrojando el mes 12 del mismo año 2009 que puedo hacer


Select sum(prima_us) as prima_us, mes, year,manager from produ_comercial Where manager = 'L'
and mes in (12,1,2)
and ((mes = 12 and year = year)
or (mes < 12 and year = year))
and linea = 'Energy'
and year between 2009
and 2009
group by mes,year,manager
order by mes asc
  #2 (permalink)  
Antiguo 06/08/2010, 21:21
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: urgente consulta complicada

Si tu fecha a comparar es un dato tipo DATETIME, entonces:

Código SQL:
Ver original
  1. WHERE tuFecha >= '20091212' AND tuFecha <= '20100203'
  #3 (permalink)  
Antiguo 09/08/2010, 09:01
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: urgente consulta complicada

No entiendo tu respueta si yo lo tengo de esa manera
  #4 (permalink)  
Antiguo 09/08/2010, 09:35
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: urgente consulta complicada

¿Porque preguntar por el año y mes?

Dudo mucho que esto funcione: year = year
  #5 (permalink)  
Antiguo 09/08/2010, 10:29
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: urgente consulta complicada

por que la consulta es segun el año puesco el primer periodo que es diciembre enero febrero
  #6 (permalink)  
Antiguo 09/08/2010, 10:30
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: urgente consulta complicada

Por eso mi respuesta, es mejor preguntar por la FECHA COMPLETA que preguntar por año y mes
  #7 (permalink)  
Antiguo 09/08/2010, 10:53
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: urgente consulta complicada

Cita:
Iniciado por iislas Ver Mensaje
Por eso mi respuesta, es mejor preguntar por la FECHA COMPLETA que preguntar por año y mes
islla mira es es el codigo de VB las fechas las seleciono desde un combo box al Ygual que el producto y el quarter

Código:
Abre_Base
    strSql = vbNullString
    strAux = vbNullString
    strSql = "Select sum(prima_us) as prima_us,mes, year from produ_comercial where "
    If cmblinea.ListIndex <> -1 Then
        strAux = strAux & "linea = '" & cmblinea.Text & "' "
    End If
       If cmbperiodo.ListIndex <> -1 Then
        If cmbperiodo.ListIndex = 0 Then
           strAux = strAux & " and mes in ('12','1','2')"
        End If
        If cmbperiodo.ListIndex = 1 Then
           strAux = strAux & " and mes in ('3','4','5')"
        End If
        If cmbperiodo.ListIndex = 2 Then
           strAux = strAux & " and mes in ('6','7','8')"
        End If
        If cmbperiodo.ListIndex = 3 Then
           strAux = strAux & " and mes in ('9','10','11')"
        End If
    End If
    
        If cmbfecha1.ListIndex <> -1 Then
        strAux = strAux & " and year between " & cmbfecha1.Text & ""
    End If
         If cmbfecha2.ListIndex <> -1 Then
        strAux = strAux & " and " & cmbfecha2.Text & ""
    End If
       
    strSql = strSql & strAux
    
    strSql = strSql & " group by mes,year order by mes asc"
    
    lngFila = 0
    
    dblMonto = 0
    
    Call FormatoGrilla
        If dbCreaConsultaRapida(strSql, adoRs) Then
        Do While Not adoRs.EOF
            mfgRet.Col = 1
            mfgRet.Row = mfgRet.Rows - 1
        If mfgRet.Text <> "" Then
                mfgRet.Rows = mfgRet.Rows + 1
        End If
           
        mfgRet.Row = mfgRet.Rows - 1
        lngFila = lngFila + 1
        'mcintprima = mcintprima + 1
            
        If Not IsNull(adoRs![mes]) Then
        If (adoRs!mes) = 1 Or (adoRs!mes) = 2 Or (adoRs!mes) = 3 Then
            mfgRet.TextMatrix(lngFila, mcintColperiodo) = "1st Quarter"
           End If
        If (adoRs!mes) = 4 Or (adoRs!mes) = 5 Or (adoRs!mes) = 6 Then
            mfgRet.TextMatrix(lngFila, mcintColperiodo) = "2nd Quarter"
           End If
        If (adoRs!mes) = 7 Or (adoRs!mes) = 8 Or (adoRs!mes) = 9 Then
           mfgRet.TextMatrix(lngFila, mcintColperiodo) = "3rd Quarter"
           End If
        If (adoRs!mes) = 10 Or (adoRs!mes) = 11 Or (adoRs!mes) = 12 Then
            mfgRet.TextMatrix(lngFila, mcintColperiodo) = "4th Quarter"
           End If
           End If
        If Not IsNull(adoRs![Year]) Then
           mfgRet.TextMatrix(lngFila, mcintColfecha) = adoRs!Year
           End If
        If Not IsNull(adoRs![prima_us]) Then
           mfgRet.TextMatrix(lngFila, mcintprima) = Format(adoRs!prima_us, "#,###.00")
           End If
     
        If adoRs![prima_us] Then
           dblMonto = dblMonto + adoRs![prima_us]
           End If
           adoRs.MoveNext
        Loop
           adoRs.Close
           Set adoRs = Nothing
          'Me.lblTotalPrima = prima_us
           txtPesos.Text = Format(CLng(dblMonto), "#,##0")
           End If
   End Sub
te das cuenta que tengo que iniciciar el año en diciembre que quiero decri que cuado le diaga buscame desde el 2009 al 2009 el sepa que el año se inicia el 2008 diciembre

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:42.