SQL上的选择

时间:2015-07-24 13:53:54

标签: sql reporting sql-server-2014

尝试在服务器2014上使用以下sql创建视图

SELECT qryReportWSLCurrentQty.Location,
  qryReportWSLCurrentQty.WarehouseName,
  tblStock.SupplierRef,
  qryReportWSLCurrentQty.StockCode,
  SUM(qryReportWSLCurrentQty.SumOfMovementQty)      AS WarehouseQty,
  SUM(qryReportWSLCurrentQty.SumOfMovementQtyBoxes) AS WarehouseBoxes,
  qryDeliveryValue.LastOfMovementDate               AS DelDate,
  [qryCostValueForReports].[CostValue],
  IIf(([qryTotalSalesValue].[NetAmount]IS NULL),0,[qryTotalSalesValue].[NetAmount])   AS [SalesValue],
  IIf([SalesValue]                      =0,-100,(([SalesValue]/[CostValue])*100)-100) AS PerCentUp,
  IIf(([SumOfQty]                      IS NULL),0,[SumOfQty])                         AS ShopStock
FROM ((((qryReportWSLCurrentQty
INNER JOIN tblStock
  ON qryReportWSLCurrentQty.StockCode = tblStock.StockCode)
LEFT JOIN QRYDELIVERYVALUE
  ON QRYREPORTWSLCURRENTQTY.STOCKCODE = QRYDELIVERYVALUE.STOCKCODE)
LEFT JOIN qryTotalStockinShops
  ON qryReportWSLCurrentQty.StockCode = qryTotalStockinShops.StockCode)
LEFT JOIN QRYTOTALSALESVALUE
  ON qryReportWSLCurrentQty.StockCode = qryTotalSalesValue.StockCode)
LEFT JOIN QRYCOSTVALUEFORREPORTS
  ON qryReportWSLCurrentQty.StockCode = qryCostValueForReports.StockCode
WHERE (((tblStock.DeadCode)         =0))
GROUP BY QRYREPORTWSLCURRENTQTY.LOCATION,
  QRYREPORTWSLCURRENTQTY.WAREHOUSENAME,
  TBLSTOCK.SUPPLIERREF,
  QRYREPORTWSLCURRENTQTY.STOCKCODE,
  QRYDELIVERYVALUE.LASTOFMOVEMENTDATE,
  QRYCOSTVALUEFORREPORTS.COSTVALUE,
  IIF(([QRYTOTALSALESVALUE].[NETAMOUNT]    IS NULL ),0,[QRYTOTALSALESVALUE].[NETAMOUNT]),
  IIF(([SUMOFQTY]                          IS NULL),0,[SUMOFQTY])
HAVING (((qryCostValueForReports.CostValue)<>0));

在保存之前检查santax会抛出2个无效的列名'SalesValue'和不明确的列名称'CostValue' 此查询生成报告标题和值,并且是需要的内容。

1 个答案:

答案 0 :(得分:0)

也许这使用Salesvalue的简单替换(公式) 并且认为你想要[qryCostValueForReports] .costValue

if ($result = $conn->query($query)) {
    while ($row = $result->fetch_assoc()) {
        //Do stuff with the next row.
    }
}