首页 > 解决方案 > 自定义 SQL 查询到 HTML

问题描述

我一直在做很多研究,我发现的一切都是使用 PHP 和 MySQL。我需要能够访问我的 ODBC SQL Server(我的 MRP 系统)并在网页上显示自定义查询,以便为我的工厂提供视觉效果。我无法找到建立与数据库的连接的方法,也无法找到格式化查询以显示数据的正确方法。非常感谢任何和所有建议和格式更正。我什至不确定 HTML 是我需要走的路线。我只需要基于此数据构建一个表,并进一步使用表中的特定字符串值进行格式化。

查询如下:

with cte as
(
SELECT DISTINCT
orout.PartNo,
sched.JobNo,
sched.StepNo,
orout.DeptNum AS MachCell,
orout.WorkCntr as Descrip,
agg.sumHours as HrsLeft,
agg.sumManHrs,
agg.minStartDate,
agg.maxEndDate,
sched.Priority,
od.QtyToMake,
isnull(tt2.QtyComplete,0) as QtyComplete,
CASE
WHEN isnull(tt2.QtyComplete,0) = 0 THEN od.QtyToMake
ELSE (od.QtyToMake - tt2.QtyComplete)
END as QtyOpen,
orout.TotActHrs,
orout.TotEstHrs,
emp.EmplCode,
Emp.NewEmplShortName,
emp.WorkCntr,
wc.Descrip as wcDescrip,
CASE
WHEN emp.EmplCode IS NOT null THEN 1
ELSE 0
END AS LoginPriority



FROM Scheduling as sched

LEFT JOIN OrderRouting as orout
ON orout.JobNo = sched.JobNo AND orout.StepNo = sched.StepNo

LEFT JOIN OrderDet as od
ON orout.JobNo = od.JobNo

LEFT JOIN
    (   
        SELECT
            JobNo,
            online.EmplCode,
            EmplCode.NewEmplShortName,
            WorkCntr,
            StepNo
        FROM Online
        INNER JOIN EmplCode
        ON EmplCode.EmplCode = online.EmplCode
    ) emp
ON emp.JobNo = orout.JobNo and emp.StepNo = orout.StepNo

LEFT JOIN
    (
        SELECT
            JobNo,
            StepNo,
            SUM(ManHrs) as sumManHrs,
            SUM(Hours) as sumHours,
            MIN(StartDate) as minStartDate,
            MAX(EndDate) as maxEndDate
        FROM
        Scheduling
        GROUP BY JobNo, StepNo
    ) agg
    ON agg.JobNo = sched.JobNo AND agg.StepNo = sched.StepNo

LEFT JOIN TimeTicketDet as tt
ON tt.JobNo = orout.JobNo and tt.StepNo = orout.StepNo

LEFT JOIN 
    (
        SELECT
            JobNo,
            StepNo,
            SUM(PiecesFinished+PiecesScrapped) as QtyComplete
        FROM
        TimeTicketDet as tt2
        GROUP BY JobNo, StepNo
    ) tt2
ON tt2.JobNo = orout.JobNo and tt2.StepNo = tt.StepNo

LEFT JOIN WorkCntr as wc
ON emp.WorkCntr = wc.WorkCntr

WHERE
sched.Priority > 0

)

SELECT *
FROM CTE
WHERE 
Descrip = 'MACHINE2'
ORDER BY
LoginPriority DESC, Priority DESC, minStartDate

标签: sql-server

解决方案


我建议寻找可以使用 SQL 视图作为数据源的现成应用程序。然后,您可以在 SQL 中编写一个视图以返回您需要显示的数据,然后让应用程序处理 UI 中的所有内容。

我没有深入使用过,也不隶属于任何,但我过去玩过的两个是https://www.tableau.com/https://powerbi.microsoft。 com。Tableau 更像是一个仪表板工具(可能有点贵),但我认为 PowerBI 是免费的,但它们只是您可以使用的一些示例。环顾四周,但您应该能够找到可以使用的东西。


推荐阅读