簡體   English   中英

SmartGWT中的SQL模板

[英]SQL Templating in SmartGWT

我正在嘗試在smartgwt中使用SQL模板將數據從數據庫加載到listgrid中,但無法獲得所需的結果。 這是我試圖在SmartGWT中采用的原始SQL查詢以獲取結果

SELECT
dbo.province.provincename as province,
dbo.province.capital,
dbo.province.code,
dbo.province.telcode,
dbo.province.taxcode,
dbo.county.countyname as county,
dbo.district.districtname as district,
dbo.zone.alternateName as zone,
dbo.neighbourhood.alternateName as neigbhour,
dbo.city.cityname as city,
dbo.city.taxcode,
dbo.city.fdocode,
count(dbo.customer.customeraltname) as countCustomer
FROM
dbo.county
INNER JOIN
dbo.province
ON
(
    dbo.county.provinceID = dbo.province.id)
INNER JOIN
dbo.district
ON
(
    dbo.county.id = dbo.district.countyID)
INNER JOIN
dbo.city
ON
(
    dbo.district.id = dbo.city.districtID)
INNER JOIN
dbo.zone
ON
(
    dbo.city.id = dbo.zone.cityId)
INNER JOIN
dbo.neighbourhood
ON
(
    dbo.zone.id = dbo.neighbourhood.zoneId)
INNER JOIN
dbo.customer
ON
(
    dbo.neighbourhood.id = dbo.customer.neighbourhoodId)
    Group By dbo.province.provincename,
dbo.province.capital,
dbo.province.code,
dbo.province.telcode,
dbo.province.taxcode,
dbo.county.countyname,
dbo.district.districtname,
dbo.zone.alternateName,
dbo.neighbourhood.alternateName,
dbo.city.cityname,
dbo.city.taxcode,
dbo.city.fdocode

以下是我的ds.xml

<DataSource ID="CusNeiGroupDS" serverType="sql">
<fields>
    <field name="id" type="integer" />
    <field name="provincename" title="province" type="text"/>
    <field name="capital" title="capital" type="text"/>
    <field name="code" title="code" type="text"/>
    <field name="telcode" title="telcode" type="text"/>
    <field name="taxcode" title="taxcode" type="text" />
    <field name="provinceId" type="integer" tableName="county"/>
    <field name="countyname" title="county" type="text" tableName="county"/>
    <field name="district" title="district" type="text" />
    <field name="city" title="city" type="text"  />
    <field name="zone" title="zone" type="text"  />
    <field name="neighbour" title="neighbour" type="text"  />
    <field name="taxcodecity" title="taxcodecity" type="text"
        />
    <field name="fdocode" title="fdocode" type="text" />
    <!-- <field name="countCustomer" title="countCustomer" type="int" /> -->
</fields>


<operationBindings>
    <operationBinding operationId="summary"
        operationType="fetch">
        <selectClause>
            districtname as
            district,
            alternateName as zone,
            alternateName as neigbhour,
            cityname
            as city,
            fdocode
        </selectClause>
        <tableClause>province, county, district, zone, neighbourhood, city
        </tableClause>
        <whereClause>
            province.Id = county.provinceId
        AND district.countyId = county.Id
        AND city.districtId = district.Id
        AND neighbourhood.zoneId = zone.Id
        </whereClause>
    </operationBinding>
</operationBindings>

我得到的錯誤是

執行選擇:db上的CusNeiGroupDS WHERE('1'='1')中的SELECT COUNT(*):SQLServer拋出異常:java.sql.SQLException:對象名稱'CusNeiGroupDS'無效。 -假設連接過時並重試查詢。

但是當我像這樣將表名放在數據源中時,我只會從我提到的那個表中得到輸出,而不會從與FK聯接的其他表中得到輸出。

<DataSource ID="CusNeiGroupDS" serverType="sql" tableName="province">

我能夠通過在數據源中使用includeFrom和foreignKey標記來實現這一點。 然后創建另一個數據源,在其中我可以用它來包含我需要來自不同表的所有列。

<DataSource ID="neighbourDS_1" serverType="sql" tableName="neighbourhood"     inheritsFrom="neighbourDS">
<fields>
    <field name="provincename" includeFrom="provinceDS.provincename" />
    <field name="capital" includeFrom="provinceDS.capital" />
    <field name="code" includeFrom="provinceDS.code" />
    <field name="telcode" includeFrom="provinceDS.telcode" />
    <field name="countyname" includeFrom="countyDS.countyname" />
    <field name="district" includeFrom="districtDS.districtname" />
    <field name="city" includeFrom="cityDS.cityname" />
    <field name="taxcodecity" includeFrom="cityDS.taxcodecity" />
    <field name="fdocode" includeFrom="cityDS.fdocode" />
    <field name="zone" includeFrom="zoneDS.zone" />
</fields>
</DataSource>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM