gpt4 book ai didi

mysql - 使用连接和嵌套查询计算数量

转载 作者:行者123 更新时间:2023-11-30 22:56:47 26 4
gpt4 key购买 nike

我正在尝试计算存储在 xcart_order_details 中的有效销售订单的库存数量。我还想只计算 x 天内下订单的库存,这些订单的状态为已处理“P”或排队“Q”,并且库存类型是否与某些位置匹配; C1库存、C2库存等。

这在我们以前的xcart数据库中比较简单;

SELECT COUNT(`amount`)
FROM `xcart_order_details`
WHERE `productid` IN (
SELECT `productid`
FROM `xcart_products` WHERE `orderid` IN
(SELECT `orderid`
FROM `xcart_orders`
WHERE `date` > ".$date_range."
AND (`status` = 'P'
OR `status` = 'Q'))
AND (LOWER(param01) = 'c1 stock'
OR LOWER(param01) = 'c2 stock'
OR LOWER(param01) = 'g stock'
OR LOWER(param01) = 'stock')
AND `productid` = ".$safe_prodid.")

此查询有效。但是现在我们的库存位置存储在另一个名为 xcart_extra_field_values 的表中,并且必须在 fieldid = 5 处检索;

我尝试使用连接从 xcart_extra_field_values 中获取值字段,其中 fieldid = 5,并尝试执行我在上面的查询中所做的操作,但它不起作用。

SELECT COUNT(`a.amount`)
FROM xcart_order_details a,
xcart_extra_field_values b
WHERE a.productid IN (
SELECT productid
FROM xcart_products WHERE orderid IN
(SELECT orderid
FROM xcart_orders
WHERE date > 1409529600
AND (status = 'P'
OR status = 'Q'))
AND (LOWER(b.value) = 'c1 stock'
OR LOWER(b.value) = 'c2 stock'
OR LOWER(b.value) = 'g stock'
OR LOWER(b.value) = 'stock')
AND (a.productid = b.productid)
AND (a.productid = 4169)
AND (b.fieldid = 5)

不幸的是,这个查询不起作用,我知道这是一个语法问题,但我得到的错误没有任何帮助。

任何人都可以阐明我做错了什么吗?

最佳答案

您缺少连接两个表的标准。假设表 xcart_extra_field_values 中有一个 xcart_order_details_id,然后使用它。

毕竟,您甚至不必加入。您想要来自 xcart_order_details 的结果,其中存在某些详细值记录:

SELECT COUNT(`amount`)
FROM `xcart_order_details`
WHERE `productid` IN
(
SELECT `productid`
FROM `xcart_products`
WHERE `orderid` IN
(
SELECT `orderid`
FROM `xcart_orders`
WHERE `date` > ".$date_range."
AND `status` IN ('P','Q')
)
AND `productid` = ".$safe_prodid."
AND EXISTS
(
SELECT *
FROM xcart_extra_field_values v
WHERE v.xcart_order_details_id = xcart_order_details.id
AND fieldid = 5
AND LOWER(param01) IN ('c1 stock','c2 stock','g stock','stock')
);

顺便说一句:您数一数有多少订单详细记录有金额?

关于mysql - 使用连接和嵌套查询计算数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26016080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com