Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 3个输入5个输出。在现有数据上创建新列_C#_Database_Sql Server 2008_Datagridview - Fatal编程技术网

C# 3个输入5个输出。在现有数据上创建新列

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

我有输入:布鲁托,应付,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     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来保持此格式吗?