Sql 在另一个查询中使用Access查询的结果。
我在互联网上搜索了一个解决方案,绞尽脑汁想弄明白这一点,希望有人能帮上忙。基本情况如下 我在一个表中有一个事务列表。每笔交易都有客户ID、商店ID、他们购买的产品和账单代码(2、3、4、5、6、7)字段 一些商店根本没有使用计费代码2,我想进一步调查一下 我创建了一个不使用账单代码2的商店列表。有20家商店 然后我创建了一个查询,提供了与这20家商店相关联的客户列表 -------------------这就是我现在所在的地方----------- 基本上,我想看看,如果人们去商店X购买产品Y,他们在两个不同的商店是否受到不同的待遇(账单代码)。如果他们不使用计费代码2,那么商店会有更多的钱,因此他们不使用此代码是一种激励 有没有一种方法可以进行查询并告诉Access,让我了解正在使用这20家商店和另一家商店(不是这20家中的一家)的客户,他们是否在其他地方购买相同的产品Sql 在另一个查询中使用Access查询的结果。,sql,ms-access,ms-access-2010,Sql,Ms Access,Ms Access 2010,我在互联网上搜索了一个解决方案,绞尽脑汁想弄明白这一点,希望有人能帮上忙。基本情况如下 我在一个表中有一个事务列表。每笔交易都有客户ID、商店ID、他们购买的产品和账单代码(2、3、4、5、6、7)字段 一些商店根本没有使用计费代码2,我想进一步调查一下 我创建了一个不使用账单代码2的商店列表。有20家商店 然后我创建了一个查询,提供了与这20家商店相关联的客户列表 -------------------这就是我现在所在的地方----------- 基本上,我想看看,如果人们去商店X购买产品Y,
任何帮助都将不胜感激。我有一种感觉,我需要简化这一点,并采取多个步骤,但我似乎无法找到一条从a点到B点的路径。谢谢 好的,听起来您有一个查询来查找不使用billingCode=2的商店
SELECT DISTINCT storeID
FROM tblPurchases
WHERE storeID NOT IN (SELECT storeID FROM tblPurchases WHERE billingCode=2);
我在Access中将该查询保存为[qryStoresNotUsing2],以便在下面使用它
听起来您还利用了第一个查询,为您提供了在这些商店购物的客户列表,这可以通过以下方式完成
SELECT DISTINCT clientID
FROM tblPurchases
WHERE storeID IN (SELECT storeID FROM qryStoresNotUsing2);
现在,听起来你想了解一些客户的详细信息,他们在一家“非2”商店购买产品,同时也在其他地方购买相同的产品
我们可以首先生成一个列表,列出同一客户在不同商店购买同一产品的所有采购:
SELECT DISTINCT p1.clientID, p1.productID,
p1.storeID AS store1, p1.billingCode AS billingCode1,
p2.storeID AS store2, p2.billingCode AS billingCode2
FROM tblPurchases p1 INNER JOIN tblPurchases p2
ON p1.clientID=p2.clientID AND p1.productID=p2.productID AND p1.storeID<>p2.storeID
该查询将列出单个购买。如果只需要客户端,可以从输出中省略productID、storeID和billingCode列,只需执行以下操作
SELECT DISTINCT p1.clientID FROM ...
我将通过以下方式来解决这个问题: 1-使用查询获取所有已由账单代码为2的商店开具账单的产品的列表-只有产品代码,没有其他信息 2-将交易表链接到步骤1中的查询,并列出产品、客户、门店和账单代码-可能在交叉表查询中,产品、客户和门店位于下方,账单代码位于上方 3-目视扫描此输出以查看未使用计费代码2的商店-这应该回答您的问题或告诉您是否需要更多调查 或者,您可以在步骤2中使用select查询,并为计费代码2添加一个条件-由于您在任何地方开始使用所有以代码2计费的产品,此查询将告诉您(商店、产品、客户)当其他商店对同一产品使用代码2时,那些没有使用代码2的商店 另一种选择是,如果必须是特定于客户的-在查询1中,获取所有代码2票据代码的客户/产品组合。然后将其链接到客户和产品的交易表,条件为票据代码2。这与上面的逻辑相同,但将列出一个商店中以代码2计费的(客户、产品)组合,以及另一个商店中的一些其他账单代码
所有这些都是简单的选择或交叉表查询,其中包含从第一个查询到第二个查询的连接。您能给我们显示您的代码吗?以及您的表。您可能只需要几个查询,或者一个简单的连接。
SELECT DISTINCT p1.clientID FROM ...