单独查询一个表是正常的两个表一起查就不对

image.pngimage.png

SELECT 下货名,肉名 FROM

(SELECT

A.NAME 下货名,

A.weight,(A.weight*c.p_weight/125) 下货出品重量,

B.DJ,(A.weight*c.p_weight/125)*B.DJ 下货金额

FROM

m AS A,

m_up AS B,

UPUP AS C

where A.name = B.name AND A.ID = 2)C,

(SELECT 

A.name 肉名,

A.weight,(A.weight*c.p_weight/125) 肉出品重量,

(A.weight*c.p_weight/125)*B.DJ 肉金额

FROM

m AS A,

m_up AS B,

UPUP AS C

where A.name = B.name AND A.ID = 1)D

FineReport 帆软用户A5K1Xo5JDb 发布于 2023-8-26 14:29 (编辑于 2023-8-26 14:50)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
luojian0323Lv7资深互助
发布于2023-8-26 14:45

SELECT c.下货名,c.肉名,d.肉出品重量,d.肉金额 FROM

(SELECT

A.NAME 下货名,

A.weight,(A.weight*c.p_weight/125) 下货出品重量,

B.DJ,(A.weight*c.p_weight/125)*B.DJ 下货金额

FROM

m AS A,

m_up AS B,

UPUP AS C

where A.name = B.name AND A.ID = 1)C,

(SELECT 

A.name 肉名,

A.weight,(A.weight*c.p_weight/125) 肉出品重量,

(A.weight*c.p_weight/125)*B.DJ 肉金额

FROM

m AS A,

m_up AS B,

UPUP AS C

where A.name = B.name AND A.ID = 1)D

where c.肉名=d.肉名

  • 帆软用户A5K1Xo5JDb 帆软用户A5K1Xo5JDb(提问者) 不行
    2023-08-26 14:50 
  • luojian0323 luojian0323 回复 帆软用户A5K1Xo5JDb(提问者) m AS A, m_up AS B, UPUP AS C a,b,c三个表字段参与计算,需要在where 条件中写清楚三者关联关系。
    2023-08-26 15:09 
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-8-26 14:59

SELECT C.下货名,D.肉名 FROM

(SELECT

A.NAME 下货名,

A.weight,(A.weight*c.p_weight/125) 下货出品重量,

B.DJ,(A.weight*c.p_weight/125)*B.DJ 下货金额

FROM

m AS A,

m_up AS B,

UPUP AS C

where A.name = B.name AND A.ID = 2)C,

(SELECT 

A.name 肉名,

A.weight,(A.weight*c.p_weight/125) 肉出品重量,

(A.weight*c.p_weight/125)*B.DJ 肉金额

FROM

m AS A,

m_up AS B,

UPUP AS C

where A.name = B.name AND A.ID = 1)D

最佳回答
0
LazySheepLv7高级互助
发布于2024-5-6 13:32(编辑于 2024-5-6 13:32)
-- 使用WITH子句(公共表表达式)来定义子查询   WITH DownGoods AS (       SELECT           A.NAME AS 下货名,           (A.weight * C.p_weight / 125) AS 下货出品重量,           (A.weight * C.p_weight / 125) * B.DJ AS 下货金额       FROM           m AS A       JOIN m_up AS B ON A.name = B.name       JOIN UPUP AS C ON -- 这里可能需要一个连接条件,但您没有给出,所以暂时假设A有另一个字段可以与C连接           -- 示例: A.some_id = C.some_id           1 = 1 -- 临时条件,实际中应替换为正确的连接条件       WHERE           A.ID = 2   ),   Meat AS (       SELECT           A.NAME AS 肉名,           (A.weight * C.p_weight / 125) AS 肉出品重量,           (A.weight * C.p_weight / 125) * B.DJ AS 肉金额       FROM           m AS A       JOIN m_up AS B ON A.name = B.name       JOIN UPUP AS C ON -- 同样,这里需要一个连接条件           -- 示例: A.some_id = C.some_id           1 = 1 -- 临时条件,实际中应替换为正确的连接条件       WHERE           A.ID = 1   )      -- 从两个子查询中选择所需字段   SELECT        DownGoods.下货名,       Meat.肉名   FROM       DownGoods, -- 这里其实没有连接条件,因为它们是独立的查询结果       Meat; -- 如果您需要某种关联,您需要在SELECT查询中添加JOIN条件

  • 4关注人数
  • 185浏览人数
  • 最后回答于:2024-5-6 13:32
    请选择关闭问题的原因
    确定 取消
    返回顶部