首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataSource与customSQL

DataSource与customSQL
EN

Stack Overflow用户
提问于 2014-02-24 14:39:13
回答 2查看 92关注 0票数 0

我想使用SQL查询在3个表之间进行连接,您能更正我的语法或请给我正确的语法吗?我的应用程序即使在这个错误的情况下也不会启动!我先谢谢你这是我的代码:

代码语言:javascript
复制
<DataSource 
      dbName="SQLServer_CRM"
      dataSourceVersion="1"
      generatedBy="v8.3p"
      serverType="sql"
>

             <fields>
                <field name="OBJ_ID" type="int" title="OBJ ID" customSQL="true">
                    <nativeName>crm_obj_idnum</nativeName>
                    <tableName>crm_objects</tableName>
                       </field>

            </fields> 

           <operationBindings operationType="fetch">
                <customSQL>

        SELECT  OBJ_DET.[crm_obj_idnum]         AS OBJ_ID
        ,OBJ_DET.[crm_obj_kind]                         AS OBJ_KIND
        ,OBJ_KN.[crm_kind_name]             AS OBJ_KIND_NAME      
        ,OBJ_FATHER.crm_obj_name            AS FATHER_NAME
        ,OBJ_DET.[crm_obj_parent_idnum]         AS FATHER_ID
        ,OBJ_DET.[crm_obj_name]                         AS OBJ_NAME
        ,OBJ_DET.[crm_obj_desc]                         AS OBJ_DESC
        ,OBJ_DET.[crm_obj_isactive]         AS OBJ_ACTIVE
        fROM 
            [foveaprocess_easycrm].[dbo].[crm_objects]            OBJ_DET,
            [foveaprocess_easycrm].[dbo].[crm_objects]            OBJ_FATHER,
            [foveaprocess_easycrm].[dbo].[crm_kind]               OBJ_KN
        WHERE 
        OBJ_DET.crm_obj_parent_idnum=OBJ_FATHER.crm_obj_idnum
        AND OBJ_DET.crm_obj_kind = OBJ_KN.crm_kind_idnum
        UNION ALL
        SELECT 
          [crm_attrdat_fk_obj_idnum]                   AS OBJ_ID
          ,OBJ_FATHER_DATA.crm_obj_kind                AS OBJ_KIND
          ,OBJ_KN.[crm_kind_name]                      AS OBJ_KIND_NAME
          ,OBJ_FATHER_DATA.crm_obj_name                AS FATHER_NAME
          ,[crm_attrdat_fk_obj_idnum]                  AS FATHER_ID
   ,case OBJ_ATTR_DATA.crm_attr_datatype WHEN 'A' THEN [crm_attrdat_data_A1] END AS OBJ_NAME
      ,OBJ_ATTR_DATA.crm_attr_name                 AS OBJ_DESC
      ,[crm_attrdat_isactive]                      AS OBJ_ACTIVE
     FROM 
            [foveaprocess_easycrm].[dbo].[crm_attrdata]           OBJ_DATA,
            [foveaprocess_easycrm].[dbo].[crm_attributs]          OBJ_ATTR_DATA,
            [foveaprocess_easycrm].[dbo].[crm_objects]            OBJ_FATHER_DATA,
            [foveaprocess_easycrm].[dbo].[crm_kind]           OBJ_KN

     WHERE 
           OBJ_DATA.crm_attrdat_fk_attr_idnum=OBJ_ATTR_DATA.crm_attr_idnum
           AND OBJ_DATA.crm_attrdat_fk_obj_idnum=OBJ_FATHER_DATA.crm_obj_idnum
           AND OBJ_ATTR_DATA.crm_attr_fk_kind_idnum = OBJ_KN.crm_kind_idnum          

                </customSQL>
            </operationBindings>   
        </DataSource>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-04 14:50:47

问题解决了!我必须更改DataSource的文件名,该文件名应与数据库中的表或视图相同。

票数 0
EN

Stack Overflow用户

发布于 2014-02-24 16:15:57

单引号在XML中无效。试着改变这一行

代码语言:javascript
复制
,case OBJ_ATTR_DATA.crm_attr_datatype WHEN 'A' THEN [crm_attrdat_data_A1] END AS OBJ_NAME

代码语言:javascript
复制
,case OBJ_ATTR_DATA.crm_attr_datatype WHEN &apos;A&apos; THEN [crm_attrdat_data_A1] END AS OBJ_NAME
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21990847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档