create table ee(
info float,
F2 nvarchar(10),
mc1 nvarchar(255),
dm1 float,
dm2 float,
cke float,
mc3 nvarchar(255),
zt varchar(1)
)
insert eeselect *,case when mc3=mc1 then '1' else '0' end as zt
from(
select a.*,b.dm3,c.mc3
from cc a
full join c3 b on a.dm1=b.dm3
full join c3 c on ltrim(a.dm2)=c.dm3)d

解决方案 »

  1.   

    insert into ee
    select info,F2,mc1,dm1,dm2,cke,mc3,case when mc3=mc1 then '1' else '0' end as zt
    from(
    select a.*,b.dm3,c.mc3
    from cc a
    full join c3 b on a.dm1=b.dm3
    full join c3 c on ltrim(a.dm2)=c.dm3)d
      

  2.   

    将数据类型 nvarchar 转换为 float 时出错。执行后是这样的报错提示
      

  3.   

    检查mc1 nvarchar(255),mc3 nvarchar(255),
     和插入的对应的这两列的类型是否一直
      

  4.   

    查过了都是 nvarchar(255) 
      

  5.   

    if (iLen != iLen1){DBG_DOWNLOAD;CCU_MemFree(CCU_MEM_INFO, pucBuf);
    pucBuf = CCU_NULL_PTR;CCU_FClose(fp);return CCU_ERR;}
    *ppucBuf = pucBuf;*pulLen = (UINT32)iLen;if (0 != CCU_FClose(fp))
    {DBG_DOWNLOAD;CCU_MemFree(CCU_MEM_INFO, pucBuf);pucBuf = CCU_NULL_PTR;
    return CCU_ERR;}return CCU_OK;  }
    开始加载转发
    UINT32 RS485LoadStartCmdSend(UINT16 uwIndex, UCHAR ucChanIndex, PRS485_BOARD_T pstNode)
    UINT32  ulRet  = CCU_NULL_LONG;CHECK;
    /* 转发启动加载命令 */ulRet = CCU485LoadStartCmdSend(uwIndex,ucChanIndex,pstNode);
    if (CCU_OK != ulRet){CCU485ClearLoadData(ucChanIndex,uwIndex);y7; ConvRetToRet(ulRet);
    DBG_DOWNLOAD;return ulRet;}y3.ucWaitTime = LOAD_WAIT_TIME;y3.ucRepeatTime = 0;return CCU_OK;
    加载数据转发
    UINT32 RS485LoadSegmentSend(UINT16 uwIndex, UCHAR ucChanIndex, PRS485_BOARD_T pstNode)
    UINT32  ulRet = CCU_NULL_LONG;UINT32  ulCurBlk = 0;UINT32  ulTotalBlk = 0;
    UCHAR   i = 0; key_t   key = QUE_IPC_START_POS_PNP + QUE_INDEX_API_MSG_CHAN0 + ucChanIndex;
    struct  msqid_ds        buf;int     msgid    = -1;UINT32  msg_num         = 0;
    UINT32  ulDelayMs       = 100;  //默认以100ms为加载10帧的延时CHECK;
    ulCurBlk = y3.ulCurBlk;ulTotalBlk = y3.ulTotalBlk;msgid = msgget(key, IPC_CREAT);
    /* 对应的API队列存在,则根据下行消息的多少调整加载时间 */
    if (msgid > 0){if( 0 == msgctl(msgid, IPC_STAT, &buf)){ msg_num = buf.msg_qnum;
    if ( msg_num < 5){ulDelayMs = DOWNLOAD_DELAY_10MS;}else if (msg_num < 10)
    {  ulDelayMs = DOWNLOAD_DELAY_50MS;}else if (msg_num < 20){ulDelayMs = DOWNLOAD_DELAY_100MS;}
    else{ulDelayMs = DOWNLOAD_DELAY_200MS; }}}
    /* 一次下发10帧的数据 */
    for ( i = 0 ; (i < WINDOW_WIDTH) && (i < (ulTotalBlk -  ulCurBlk)); i++)
    {ulRet = CCU485LoadSegmentSend(uwIndex,ucChanIndex,pstNode);if ( CCU_OK != ulRet )
    {CCU485ClearLoadData(ucChanIndex,uwIndex);y7;ConvRetToRet(ulRet);DBG_DOWNLOAD;return ulRet;}
    else{   DBG_DOWNLOAD;}ADA_Sleep(ulDelayMs);}y3.ucWaitTime = LOAD_WAIT_TIME;
    y3.ucRepeatTime = LOAD_RESEND_TIME;return CCU_OK;
      

  6.   

    //子卡管理模块"CCU_InsideBoard.h""CCU_DriverAdp.h""CCU_485msg.h"
    "CCU_485Alarm.h""CCU_ManInterface.h""CCU_Trap.h""CCU_Log.h""CCU_File.h"
    "CCU_485Init.h""CCU_AlarmCard.h""CCU_CpldLoad.h"
    /*----------------------------------------------*
     * 外部函数原型说明                             *
     *----------------------------------------------*/
    /* 配置模块函数声明 */
    extern UINT32 GDC_GetHeadInfo(UINT8 ucSlotId, PGDC_CARD_INFO *pstHeadInfo);
    extern UINT32 GDC_GetSensorInfo(UINT8 ucSlotId, UINT8 ucSensorNum, GDC_CARD_SENSOR *pstSdrInfo);
    extern UINT32 CFG_DeleteGDCNode(UINT8 ucSlotId, UINT8 *pucBarCode);
    extern UINT32 CFG_GetGdcNodeInfo(UINT8 ucSlotId, PGDC_CARD_INFO *ppstNode);
    /*----------------------------------------------*
     * 全局变量                                     *
     *----------------------------------------------*/ 
    /* 子卡数据中心 */
    INSIDE_CARD_INFO g_stInsideBoardInfo;
    /* 打桩测试数据 */
    UINT8 g_uwAlarmBuf[5] = {0x76,0xa6,0xa6,0xa6,0xa6};
    /* 子卡管理模块是否初始化标志 */UINT32 g_ulIsGdcHasInit = CCU_FALSE;
    /* 子卡管理中心数据结构互斥信号量 */INT32 g_iInsideBoardInfoMutex;
    /* 打印控制标志 */UINT32 ulSensorTempPrint = CCU_FALSE;
    UINT32 ulSensorTempSelect = CCU_FALSE;UINT32 ulSetDAValue = CCU_FALSE;
    UINT32 ulPrintVolFlag = CCU_FALSE;UINT32 ulGdcAlarmPrint = CCU_FALSE;
    /*----------------------------------------------*
     * 常量定义                                     *
     *----------------------------------------------*/
    const FLOAT HighFloatMark = 0.001;const FLOAT LowFloatMark = -0.001;
    /* 阀门全开时控制电压是2V */const FLOAT fFullOpenVol = 2.0;
    /* 默认粗细调步进 */const FLOAT fInitWideStep = 0.8;
    const FLOAT fInitThinStep = 0.3;
    /* 保持缓冲处理值 */const FLOAT fKeepValue = 3.0;
    extern UINT8 g_ucCpldTestFail;extern UINT8 g_ucHardWareFlg;
      

  7.   

    //子卡管理模块"CCU_InsideBoard.h""CCU_DriverAdp.h""CCU_485msg.h"
    "CCU_485Alarm.h""CCU_ManInterface.h""CCU_Trap.h""CCU_Log.h""CCU_File.h"
    "CCU_485Init.h""CCU_AlarmCard.h""CCU_CpldLoad.h"
    /*----------------------------------------------*
     * 外部函数原型说明                             *
     *----------------------------------------------*/
    /* 配置模块函数声明 */
    extern UINT32 GDC_GetHeadInfo(UINT8 ucSlotId, PGDC_CARD_INFO *pstHeadInfo);
    extern UINT32 GDC_GetSensorInfo(UINT8 ucSlotId, UINT8 ucSensorNum, GDC_CARD_SENSOR *pstSdrInfo);
    extern UINT32 CFG_DeleteGDCNode(UINT8 ucSlotId, UINT8 *pucBarCode);
    extern UINT32 CFG_GetGdcNodeInfo(UINT8 ucSlotId, PGDC_CARD_INFO *ppstNode);
    /*----------------------------------------------*
     * 全局变量                                     *
     *----------------------------------------------*/ 
    /* 子卡数据中心 */
    INSIDE_CARD_INFO g_stInsideBoardInfo;
    /* 打桩测试数据 */
    UINT8 g_uwAlarmBuf[5] = {0x76,0xa6,0xa6,0xa6,0xa6};
    /* 子卡管理模块是否初始化标志 */UINT32 g_ulIsGdcHasInit = CCU_FALSE;
    /* 子卡管理中心数据结构互斥信号量 */INT32 g_iInsideBoardInfoMutex;
    /* 打印控制标志 */UINT32 ulSensorTempPrint = CCU_FALSE;
    UINT32 ulSensorTempSelect = CCU_FALSE;UINT32 ulSetDAValue = CCU_FALSE;
    UINT32 ulPrintVolFlag = CCU_FALSE;UINT32 ulGdcAlarmPrint = CCU_FALSE;
    /*----------------------------------------------*
     * 常量定义                                     *
     *----------------------------------------------*/
    const FLOAT HighFloatMark = 0.001;const FLOAT LowFloatMark = -0.001;
    /* 阀门全开时控制电压是2V */const FLOAT fFullOpenVol = 2.0;
    /* 默认粗细调步进 */const FLOAT fInitWideStep = 0.8;
    const FLOAT fInitThinStep = 0.3;
    /* 保持缓冲处理值 */const FLOAT fKeepValue = 3.0;
    extern UINT8 g_ucCpldTestFail;extern UINT8 g_ucHardWareFlg;