Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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
sql查询中的计数_Sql_Visual Studio_Datagridview - Fatal编程技术网

sql查询中的计数

sql查询中的计数,sql,visual-studio,datagridview,Sql,Visual Studio,Datagridview,所以我有一张像这样的桌子 现在,当在一个充满uv='owner'的组合框中进行选择时,我需要将其打包到datagridview中。 如果我选择uv eg MG。我得到了他所有的文件/档案的清单,以及他花在文件上的时间 我使用此查询执行此操作: SELECT kbpres.uv, dbo.doss.dosno, SUM(dbo.kbpres.uur) AS somuur, SUM(dbo.kbpres.minuut) AS somminuut,

所以我有一张像这样的桌子

现在,当在一个充满uv='owner'的组合框中进行选择时,我需要将其打包到datagridview中。 如果我选择uv eg MG。我得到了他所有的文件/档案的清单,以及他花在文件上的时间

我使用此查询执行此操作:

SELECT kbpres.uv, 
       dbo.doss.dosno, 
       SUM(dbo.kbpres.uur) AS somuur, 
       SUM(dbo.kbpres.minuut) AS somminuut, 
       CAST (( SUM(dbo.kbpres.uur) + SUM(dbo.kbpres.minuut) / 60 ) AS VARCHAR(4) 
       ) + 
       'u ' + CAST (( SUM(dbo.kbpres.minuut) % 60 ) AS VARCHAR(2)) + 'm' AS 
       [derivedColumn], 
       doss.behdr 
FROM   dbo.kbpres 
       INNER JOIN dbo.doss 
         ON dbo.kbpres.ino = dbo.doss.ino 
WHERE  ( dbo.kbpres.uv LIKE @cboBeheerder ) 
GROUP  BY kbpres.uv, 
          dbo.doss.dosno, 
          doss.behdr 
(尽管我只想通过UV进行分组,并且还必须添加dosno和behdr??)

现在的问题是,我如何计算正确的成本,因为每个记录的成本不同。 对于MG而言,这将是:

10*60用于Dos88888

66666为20*76

60*10+(28小时+10分钟*10)+10*2用于12345

你知道这是否可能吗

SELECT dosno,
  SUM(uur)*60 + SUM(minuut) AS Time,
  (SUM(uur)*60 + SUM(minuut)) * cost AS TotalCost
FROM dbo.kbpres k
INNER JOIN dbo.doss d ON k.ino = d.ino 
GROUP BY dosno,k.ino,d.ino,cost
WHERE k.uv = 2

因为成本似乎是紫外线和剂量的函数

SELECT dosno,SUM(Time) AS Time,SUM(TotalCost) AS TotalCost FROM
(
SELECT dosno,
  uur*60 + minuut AS Time,
  (uur*60 + minuut) * cost AS TotalCost
FROM dbo.kbpres k
INNER JOIN dbo.doss d ON k.ino = d.ino 
GROUP BY dosno,k.ino,d.ino,cost
WHERE k.uv = 2
) t
GROUP BY dosno

请将数据粘贴为数据,而不是图片…是的,我看不到工作中的图片:(对我来说,它说成本应该是一个聚合值或一个分组值。这是真的有必要还是我的查询没有正确地构建?按成本分组。我假设成本是每分钟的一个值,所以我只是简单地展示了如何将聚合值相加和相乘-总和(…)值…以获得您正在寻找的结果。我还认为,每个dosno的每个uv的成本是相同的,但事实上它是不同的。我将相应地更新。我尝试了此操作,但总是出现错误,因此我只尝试了内部选择,它仅在我将uur和MINUT添加到groupby中时才起作用,但随后我有了26行不使用justy one:选择d.dosno,k.uur*60+k.minut作为时间,(k.uur*60+k.minut)*k.prijs作为dbo.kbpres的总成本作为k内部连接dbo.doss作为k.ino=d.ino上的d,其中(d.dosno='93690')按d.dosno,k.ino,d.ino,k.prijs,k.uur,k.minut分组