【问题标题】:¿cómo dejar el atributo "null: NOT" en la vista SQL?¿cómo dejar el atributo \"null: NOT\" en la vista SQL?
【发布时间】:2022-08-11 01:07:20
【问题描述】:

[![introduction la descripción de la imagen aquí][1]][1]Tengo la siguiente vista creada en SQL y necesito que el valor predeterminado de \"cambio_por\" no sea NULO sql SELECCIONAR `sc`.`id` COMO `id`, `sc`.`id_agente_solicitado` COMO `id_agente_solicitado`, `sc`.`id_agente_solicitante` COMO `id_agente_solicitante`, `sc`.`fecha_solicitada` COMO `fecha`, `sc`.`horario_solicitado` COMO `hora`, `sc`.`pendiente` COMO `pendiente`, \'1\' COMO `tipo`, \'Cambios de horarios\' COMO `grupo`, \'1\' COMO `grupo_numero`, `F_OBTENER_MAYUSCULAMINUSCULA`( CONCAT( `a`.`nombres`, \' \', `a`.`apellidos` ) ) COMO `agente_solicitado_nombre`, `F_OBTENER_MAYUSCULAMINUSCULA`( ( SELECCIONAR CONCAT( `sigsiste_bd`.`agentes`.`nombres`, \' \', `sigsiste_bd`.`agentes`.`apellidos` ) DESDE `sigsiste_bd`.`agentes` DÓNDE ( `sigsiste_bd`.`agentes`.`id_agente` = `sc`.`id_agente_solicitante` ) ) ) COMO `agente_solicitante_nombre`, ( SELECCIONAR `sigsiste_bd`.`agentes`.`imagen_perfil` DESDE `sigsiste_bd`.`agentes` DÓNDE ( `sigsiste_bd`.`agentes`.`id_agente` = `sc`.`id_agente_solicitante` ) ) COMO `imagen_perfil_solicitante`, `a`.`imagen_perfil` COMO `imagen_perfil_solicitado`, `F_OBTENER_MAYUSCULAMINUSCULA`( NOMBRE DEL DÍA(`sc`.`fecha_solicitada`) ) COMO `nombre_dia`, CONCAT( CONVERTIR( DATE_FORMAT(`sc`.`fecha_solicitada`, \'%d\') USANDO utf8mb4 ), \' de \', CONVERTIR( NOMBRE DEL MES(`sc`.`fecha_solicitada`) USANDO utf8mb4 ), \' de \', CONVERTIR( DATE_FORMAT(`sc`.`fecha_solicitada`, \'%Y\') USANDO utf8mb4 ) ) COMO `nombre_mes`, ( SELECCIONAR CONCAT(\' \', `det`.`ingreso`) DESDE ( `sigsiste_bd`.`planilla_horarios_det` `det` LEFT JOIN `sigsiste_bd`.`planilla_horarios_cab` `cab` ON ( ( `cab`.`id_planilla_horarios_cab` = `det`.`id_planilla_horarios_cab` ) ) ) DÓNDE ( ( STR_TO_DATE( CONCAT( `cab`.`ano_correspondiente`, \',\', `cab`.`mes_correspondiente`, \',\', `det`.`dia` ), \'%Y,%m,%d\' ) = `sc`.`fecha_solicitada` ) Y( `sc`.`id_agente_solicitante` = `det`.`id_agente` ) ) ) COMO `cambio_por` DESDE ( `sigsiste_bd`.`solicitudes_cambio_horario` `sc` LEFT JOIN `sigsiste_bd`.`agentes` `a` ON ( ( `a`.`id_agente` = `sc`.`id_agente_solicitado` ) ) ) UNIÓN TODOS SELECCIONAR `sc`.`id` COMO `id`, `sc`.`id_agente_solicitado` COMO `id_agente_solicitado`, `sc`.`id_agente_solicitante` COMO `id_agente_solicitante`, `sc`.`fecha_cobertura` COMO `fecha`, `sc`.`horario_cobertura` COMO `hora`, `sc`.`pendiente` COMO `pendiente`, \'2\' COMO `tipo`, \'Coberturas\' COMO `grupo`, \'2\' COMO `grupo_numero`, `F_OBTENER_MAYUSCULAMINUSCULA`( CONCAT( `a`.`nombres`, \' \', `a`.`apellidos` ) ) COMO `agente_solicitado_nombre`, `F_OBTENER_MAYUSCULAMINUSCULA`( ( SELECCIONAR CONCAT( `sigsiste_bd`.`agentes`.`nombres`, \' \', `sigsiste_bd`.`agentes`.`apellidos` ) DESDE `sigsiste_bd`.`agentes` DÓNDE ( `sigsiste_bd`.`agentes`.`id_agente` = `sc`.`id_agente_solicitante` ) ) ) COMO `agente_solicitante_nombre`, ( SELECCIONAR `sigsiste_bd`.`agentes`.`imagen_perfil` DESDE `sigsiste_bd`.`agentes` DÓNDE ( `sigsiste_bd`.`agentes`.`id_agente` = `sc`.`id_agente_solicitante` ) ) COMO `imagen_perfil_solicitante`, `a`.`imagen_perfil` COMO `imagen_perfil_solicitado`, `F_OBTENER_MAYUSCULAMINUSCULA`( NOMBRE DEL DÍA(`sc`.`fecha_cobertura`) ) COMO `nombre_dia`, [1]: https:// /i.stack.imgur.com/zmVJE.png

  • COALESCE(CONCAT(\' \', det.ingreso), \'NOT FOUND\') ?这样,空值将被NOT FOUND 替换。

标签: sql mysqli sql-view


【解决方案1】:

COALESCE 将选择第一个不为 NULL 的值,在这种情况下它将添加 nadie

由于 UNION 的其余部分仅将 '' 添加到结果中,您我不会添加它

SELECT 
  `sc`.`id` AS `id`, 
  `sc`.`id_agente_solicitado` AS `id_agente_solicitado`, 
  `sc`.`id_agente_solicitante` AS `id_agente_solicitante`, 
  `sc`.`fecha_solicitada` AS `fecha`, 
  `sc`.`horario_solicitado` AS `hora`, 
  `sc`.`pendiente` AS `pendiente`, 
  '1' AS `tipo`, 
  'Cambios de horarios' AS `grupo`, 
  '1' AS `grupo_numero`, 
  `F_OBTENER_MAYUSCULAMINUSCULA`(
    CONCAT(
      `a`.`nombres`, ' ', `a`.`apellidos`
    )
  ) AS `agente_solicitado_nombre`, 
  `F_OBTENER_MAYUSCULAMINUSCULA`(
    (
      SELECT 
        CONCAT(
          `sigsiste_bd`.`agentes`.`nombres`, 
          ' ', `sigsiste_bd`.`agentes`.`apellidos`
        ) 
      FROM 
        `sigsiste_bd`.`agentes` 
      WHERE 
        (
          `sigsiste_bd`.`agentes`.`id_agente` = `sc`.`id_agente_solicitante`
        )
    )
  ) AS `agente_solicitante_nombre`, 
  (
    SELECT 
      `sigsiste_bd`.`agentes`.`imagen_perfil` 
    FROM 
      `sigsiste_bd`.`agentes` 
    WHERE 
      (
        `sigsiste_bd`.`agentes`.`id_agente` = `sc`.`id_agente_solicitante`
      )
  ) AS `imagen_perfil_solicitante`, 
  `a`.`imagen_perfil` AS `imagen_perfil_solicitado`, 
  `F_OBTENER_MAYUSCULAMINUSCULA`(
    DAYNAME(`sc`.`fecha_solicitada`)
  ) AS `nombre_dia`, 
  CONCAT(
    CONVERT(
      DATE_FORMAT(`sc`.`fecha_solicitada`, '%d') USING utf8mb4
    ), 
    ' de ', 
    CONVERT(
      MONTHNAME(`sc`.`fecha_solicitada`) USING utf8mb4
    ), 
    ' de ', 
    CONVERT(
      DATE_FORMAT(`sc`.`fecha_solicitada`, '%Y') USING utf8mb4
    )
  ) AS `nombre_mes`, 
 COALESCE( (
    SELECT 
      CONCAT(' ', `det`.`ingreso`) 
    FROM 
      (
        `sigsiste_bd`.`planilla_horarios_det` `det` 
        LEFT JOIN `sigsiste_bd`.`planilla_horarios_cab` `cab` ON (
          (
            `cab`.`id_planilla_horarios_cab` = `det`.`id_planilla_horarios_cab`
          )
        )
      ) 
    WHERE 
      (
        (
          STR_TO_DATE(
            CONCAT(
              `cab`.`ano_correspondiente`, ',', 
              `cab`.`mes_correspondiente`, ',', 
              `det`.`dia`
            ), 
            '%Y,%m,%d'
          ) = `sc`.`fecha_solicitada`
        ) 
        AND(
          `sc`.`id_agente_solicitante` = `det`.`id_agente`
        )
      )
  ),'nadie') AS `cambio_por` 
FROM 
  (
    `sigsiste_bd`.`solicitudes_cambio_horario` `sc` 
    LEFT JOIN `sigsiste_bd`.`agentes` `a` ON (
      (
        `a`.`id_agente` = `sc`.`id_agente_solicitado`
      )
    )
  ) 
 UNION .....

【讨论】:

    猜你喜欢
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 2022-06-18
    • 2022-06-17
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 2020-04-15
    相关资源
    最近更新 更多