Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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# 查询不会显示十进制值_C#_Ms Access_Decimal - Fatal编程技术网

C# 查询不会显示十进制值

C# 查询不会显示十进制值,c#,ms-access,decimal,C#,Ms Access,Decimal,我有一个Access查询,它应该会提取一组项目在一个月内购买的数量。“我的加入”设置为从分析中选择所有项目,并从产品中选择与分析匹配的项目 SELECT AnalysisItems.Pmid, AnalysisItems.ProductName, Sum(Transactions.TransactionQty) AS SumOfTransactionQty, Transactions.StoreAccount FROM AnalysisItems INNER JOIN

我有一个Access查询,它应该会提取一组项目在一个月内购买的数量。“我的加入”设置为从分析中选择所有项目,并从产品中选择与分析匹配的项目

    SELECT AnalysisItems.Pmid, AnalysisItems.ProductName, Sum(Transactions.TransactionQty) 
    AS SumOfTransactionQty, Transactions.StoreAccount
    FROM AnalysisItems INNER JOIN Transactions ON AnalysisItems.Pmid = Transactions.Pmid
    WHERE (((Transactions.TransactionDate) Between #4/1/2011# And #4/30/2011#) 
    AND StoreAccount = 964290)
    GROUP BY AnalysisItems.Pmid, AnalysisItems.ProductName, Transactions.StoreAccount
    ORDER BY AnalysisItems.ProductName;

我想查看所有78个分析项,无论它们是否具有数量值。这仅返回具有数量的项。它也不会返回负值或介于0和1之间的值。。。它不会显示0.50,即使我知道其中有一些十进制值。一切都设置为标准十进制,小数点为2

我试着换成通用数字,完全摆脱格式,但也不起作用


因此,我的问题是:我可以尝试在查询中查看十进制值,以及如何查看所有项

查询的一部分是:

FROM AnalysisItems INNER JOIN Transactions ON AnalysisItems.Pmid = Transactions.Pmid
WHERE (((Transactions.TransactionDate) Between #4/1/2011# And #4/30/2011#) 
您指定的内部联接不会给出您要求的结果-理想情况下,您希望使用左联接。替换

FROM AnalysisItems INNER JOIN Transactions


我认为它应该可以正常工作

您的部分查询如下:

FROM AnalysisItems INNER JOIN Transactions ON AnalysisItems.Pmid = Transactions.Pmid
WHERE (((Transactions.TransactionDate) Between #4/1/2011# And #4/30/2011#) 
您指定的内部联接不会给出您要求的结果-理想情况下,您希望使用左联接。替换

FROM AnalysisItems INNER JOIN Transactions


我认为它应该可以正常工作

我想查看所有78个分析项目,无论它们是否具有数量值

如果这意味着您希望在结果集中包括AnalysisItems行,即使这些行在4月份和StoreAccount 964290的事务中没有任何匹配项,那么在WHERE子句中放置这些条件时,它们将不会包括在内。。。您将只获得与WHERE子句条件匹配的行

我认为您需要对事务使用子查询,并将WHERE子句移动到子查询中。并将AnalysisItems左键联接到子查询

SELECT
    a.Pmid,
    a.ProductName,
    Sum(t.TransactionQty) AS SumOfTransactionQty,
    t.StoreAccount
FROM
    AnalysisItems AS a
    LEFT JOIN [
        SELECT
            Pmid,
            TransactionQty,
            StoreAccount
        FROM Transactions
        WHERE
            (TransactionDate Between #4/1/2011# And #4/30/2011#) 
            AND StoreAccount = 964290
        ]. AS t
        ON a.Pmid = t.Pmid
GROUP BY
    a.Pmid, 
    a.ProductName,
    t.StoreAccount
ORDER BY
    a.ProductName;

我想查看所有78个分析项,无论它们是否具有数量值

如果这意味着您希望在结果集中包括AnalysisItems行,即使这些行在4月份和StoreAccount 964290的事务中没有任何匹配项,那么在WHERE子句中放置这些条件时,它们将不会包括在内。。。您将只获得与WHERE子句条件匹配的行

我认为您需要对事务使用子查询,并将WHERE子句移动到子查询中。并将AnalysisItems左键联接到子查询

SELECT
    a.Pmid,
    a.ProductName,
    Sum(t.TransactionQty) AS SumOfTransactionQty,
    t.StoreAccount
FROM
    AnalysisItems AS a
    LEFT JOIN [
        SELECT
            Pmid,
            TransactionQty,
            StoreAccount
        FROM Transactions
        WHERE
            (TransactionDate Between #4/1/2011# And #4/30/2011#) 
            AND StoreAccount = 964290
        ]. AS t
        ON a.Pmid = t.Pmid
GROUP BY
    a.Pmid, 
    a.ProductName,
    t.StoreAccount
ORDER BY
    a.ProductName;

谢谢,试过了,但还是不行。我还继续尝试了LEFT-OUTER。Jet/ACE SQL对LEFT-OUTER联接与LEFT-JOIN的处理方式没有任何区别。如果您使用LEFT-OUTER联接编写查询,保存它,关闭它,然后重新打开它,您会发现它显示LEFT-JOIN,因此使用Jet/ACE SQL时,OUTER是在浪费时间。谢谢,尝试过了,但它仍然不起作用。我还继续尝试了LEFT-OUTER。Jet/ACE SQL对LEFT-OUTER连接和LEFT-JOIN的处理没有任何区别。如果您使用LEFT-OUTER连接编写查询,保存它,关闭它,然后重新打开它,您会发现它显示LEFT-JOIN,因此使用Jet/ACE SQL时,OUTER是在浪费时间。这非常有效,谢谢!我现在唯一要弄清楚的是。。这两个日期和商店帐户是从我的windows窗体应用程序的组合框中选择的。通常在我会使用的查询中?代替实际值,但当我尝试将?'用于此查询时,出现无法解析错误。这可能与参数设置有关吗?我看看能找到什么信息。不客气。很抱歉,我无法帮助您使用来自Dot Net的参数。祝你好运,真是太棒了,谢谢你!我现在唯一要弄清楚的是。。这两个日期和商店帐户是从我的windows窗体应用程序的组合框中选择的。通常在我会使用的查询中?代替实际值,但当我尝试将?'用于此查询时,出现无法解析错误。这可能与参数设置有关吗?我看看能找到什么信息。不客气。很抱歉,我无法帮助您使用来自Dot Net的参数。祝你好运