gpt4 book ai didi

mysql - 使用子查询 select 获取列值

转载 作者:行者123 更新时间:2023-11-29 16:41:14 26 4
gpt4 key购买 nike

我有以下查询:

SELECT 
p.fsym_id,
b.p_co_sec_name_desc AS Company_Name,
p.p_date,
p.p_price AS Unadjusted_Price,
b.region AS Region,
f_splitadjprice(p.fsym_id,p.p_date,p.p_price) AS O_Split_Adjusted_Price,
f_prevunadjprice(p.fsym_id,p.p_date,Previous_Date,p.p_price),
(
SELECT MAX(f.p_date)
FROM fp_v2_fp_basic_prices AS f
WHERE f.fsym_id = p.fsym_id AND f.p_date<p.p_date
) Previous_Date

FROM
fp_v2_fp_basic_prices p

LEFT JOIN (
SELECT r2.region, b2.p_co_sec_name_desc, b2.fsym_id
FROM fp_v2_fp_sec_coverage b2
LEFT JOIN sym_v1_sym_region r2 ON b2.fsym_id = r2.fsym_id
WHERE r2.region = "EUR") b
ON b.fsym_id =p.fsym_id;

尝试调用函数 f_prevundadjprice 时,出现错误“Previous_date 不在列列表中”。基本上我想要做的是使用 (SELECT MAX..) 创建先前日期列,然后在函数 f_prevunadjprice 中使用此列中的值。

最佳答案

如果您使用 p. 引用来自 fp_v2_fp_basic_prices 的所有字段,您还应该在下一行中执行此操作:

f_prevunadjprice(p.fsym_id,p.p_date,Previous_Date,p.p_price)

尝试通过以下方式更改:

f_prevunadjprice(p.fsym_id,p.p_date,p.Previous_Date,p.p_price)

如果继续出现相同错误,则应确保表/ View fp_v2_fp_basic_prices 具有名为 Previous_Date 的列

您还应该在这里使用 AS:

(
SELECT MAX(f.p_date)
FROM fp_v2_fp_basic_prices AS f
WHERE f.fsym_id = p.fsym_id AND f.p_date<p.p_date
) Previous_Date

所以:

...) AS Previous_Date

关于mysql - 使用子查询 select 获取列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53323798/

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