我输入了:bruto,a / p%,t / a%:
示例:
我想要的输出:
我的代码目前查询。努力创造:
Bruto | a/p% | Neto | and then syntax errors
tabula22.Load(new SqlCommand("SELECT dbo.produkti_items_tab.itemname AS [Produkta nosaukums], dbo.tehnkart_produkt_tab.bruto AS [Bruto sv.], dbo.tehnkart_produkt_tab.aukstie_zudumi_proc AS [Zudumi % a/p],CAST((dbo.tehnkart_produkt_tab.bruto / 100 *
dbo.tehnkart_produkt_tab.aukstie_zudumi_proc) AS numeric(10,2)) 'Neto sv. gr.', dbo.tehnkart_produkt_tab.karstie_zudumi_proc AS [Zudumi % t/a], CAST((dbo.[Neto sv. gr.] / 100 * dbo.[Zudumi % t/a]) AS numeric(10,2)) 'beka', CAST(([Bruto sv.]-[Neto sv. gr.]-[beka]) AS numeric(10,2)) 'Total'
FROM dbo.tehnkart_produkt_tab INNER JOIN dbo.produkti_items_tab ON dbo.tehnkart_produkt_tab.item_id = dbo.produkti_items_tab.itemid WHERE (dbo.tehnkart_produkt_tab.kart_id = '" + dat1_id + "')", TestConnection).ExecuteReader());
p.s hard edit here =]
答案 0 :(得分:0)
问题是您尝试多次引用列别名。您必须将当前查询包装在子查询中以多次使用列定义:
string mySql = @"
SELECT [Produkta nosaukums],
[Bruto sv.],
[Zudumi % a/p],
[Neto sv. gr.],
[Zudumi % t/a],
CAST(([Neto sv. gr.] / 100 * [Zudumi % t/a]) AS numeric(10,2)) [beka],
CAST(([Bruto sv.]-[Neto sv. gr.]-(CAST(([Neto sv. gr.] / 100 * [Zudumi % t/a]) AS numeric(10,2)))) AS numeric(10,2)) [Total]
FROM
(
SELECT dbo.produkti_items_tab.itemname AS [Produkta nosaukums],
dbo.tehnkart_produkt_tab.bruto AS [Bruto sv.],
dbo.tehnkart_produkt_tab.aukstie_zudumi_proc AS [Zudumi % a/p],
CAST((dbo.tehnkart_produkt_tab.bruto / 100 * dbo.tehnkart_produkt_tab.aukstie_zudumi_proc) AS numeric(10,2)) [Neto sv. gr.],
dbo.tehnkart_produkt_tab.karstie_zudumi_proc AS [Zudumi % t/a]
FROM dbo.tehnkart_produkt_tab
INNER JOIN dbo.produkti_items_tab
ON dbo.tehnkart_produkt_tab.item_id = dbo.produkti_items_tab.itemid
WHERE dbo.tehnkart_produkt_tab.kart_id = '" + dat1_id + @"'
) d";
tabula22.Load(new SqlCommand(mySql, TestConnection).ExecuteReader());