C# 3个输入5个输出。在现有数据上创建新列
我有输入:布鲁托,应付,t/a%: 例如:C# 3个输入5个输出。在现有数据上创建新列,c#,database,sql-server-2008,datagridview,C#,Database,Sql Server 2008,Datagridview,我有输入:布鲁托,应付,t/a%: 例如: 布鲁托| a/p%| t/a%| 100 | 50 | 25| 我想要的输出: 布鲁托| a/p%| Neto | t/a%|总计| 100 | 50 |公式:100/100*a/p%=50 | 25 |公式:50/100*t/a%=12,5| 目前我的代码查询。致力于创建: Bruto | a/p% | Neto | and then syntax errors tabula22.Load(new SqlCommand("SELECT
- 布鲁托| a/p%| t/a%|
- 100 | 50 | 25|
- 布鲁托| a/p%| Neto | t/a%|总计|
- 100 | 50 |公式:100/100*a/p%=50 | 25 |公式:50/100*t/a%=12,5|
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=]问题是您试图多次引用列别名。必须将当前查询包装到子查询中,才能多次使用列定义:
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());
错误信息是什么?您可以编辑您的问题,使您的命令显示在多行上,以便更易于阅读吗?谢谢。在代码“d”的末尾是什么?/@user2182959,这是子查询的别名。SQL Server在所有派生表和子查询上都需要别名。您是否故意在子查询的WHERE之前添加了SQL注释
--
?@markschultheis否,我不是这个意思。Removed您介意我编辑您的答案以使用c#@string来保持此格式吗?