Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
Tsql 将结果与打印的百分比进行比较_Tsql - Fatal编程技术网

Tsql 将结果与打印的百分比进行比较

Tsql 将结果与打印的百分比进行比较,tsql,Tsql,我已经查询了我要查找的结果,现在我只想比较OnTime Y/N的百分比OnTime,但比较别名和/或在打印函数中使用列名时遇到问题。有什么建议吗 SELECT shmast.fcnumber AS Customer, shmast.fcbcompany AS Company, somast.fsono AS SalesOrder, somast.fduedate AS DueDate, shmast.fshipno AS Shipper, shmast.fshipdate AS ShipDa

我已经查询了我要查找的结果,现在我只想比较OnTime Y/N的百分比OnTime,但比较别名和/或在打印函数中使用列名时遇到问题。有什么建议吗

SELECT
shmast.fcnumber AS Customer,
shmast.fcbcompany AS Company,
somast.fsono AS SalesOrder,
somast.fduedate AS DueDate, 
shmast.fshipno AS Shipper, 
shmast.fshipdate AS ShipDate,
--DATEDIFF(DAY,somast.fduedate,shmast.fshipdate) AS 'Days',
CASE
    WHEN shmast.fshipdate <= somast.fduedate THEN 'Y'
    WHEN shmast.fshipdate > somast.fduedate THEN 'N'
END AS OnTime
FROM somast
JOIN shmast ON somast.fsono = shmast.fcsono
WHERE shmast.fcnumber = '000111'
PRINT (OnTime = 'Y') / COUNT (*)
/*GROUP BY
shmast.fcnumber,
shmast.fcbcompany,
somast.fsono,
somast.fduedate, 
shmast.fshipno, 
shmast.fshipdate*/

照你的描述再拍一次

SELECT
sum(CASE WHEN shmast.fshipdate<=somast.fduedate THEN 100.0 END)/count(*) AS OnTime
FROM somast
JOIN shmast ON somast.fsono = shmast.fcsono
WHERE shmast.fcnumber = '000111'

你有错误吗?我不明白,什么是准时?为什么在执行查询时尝试打印?你知道打印命令是如何工作的吗?请尽量多解释一点,以便我们能提供帮助。这个问题的标题不正确,你应该编辑这个问题,发布一个例子,添加你正在使用的数据库类型,你必须更好地解释这是你想要的。这是一个稍微不同的方法,但我当然愿意探索它。如果此订单在发货日期准时发货,则此更改一次只比较一行