gpt4 book ai didi

sql - 创建在 Azure Databricks 中传递日期以进行查询的小部件

转载 作者:行者123 更新时间:2023-12-03 06:20:37 25 4
gpt4 key购买 nike

我需要在 Azure Databricks 中创建一个小部件,以允许我将日期传递给查询。

这段代码的 MSSQL 版本是(注意我已经大大简化了问题,这是更大查询的一部分,我试图避免自连接):

DECLARE @MAXstartdate DATE = (SELECT MAX(startdate) FROM table
SELECT *
FROM table
WHERE startdate = @MAXstartdate

我已经尝试过:

SET mbr.MAX = (SELECT MAX(startdate) FROM table);

CREATE WIDGET mbr.MAX DEFAULT SELECT MAX(startdate) FROM table

但是 Azure 在这两个方面都会出错。

最佳答案

我尝试使用一些示例数据在我的环境中复制该问题:

create table sampletable(Id int , startdate Date)
insert into sampletable(id,startdate) values(1, '2023-04-04'),(2,'2023-04-23'),(3,'2023-04-12')

enter image description here

使用您的代码:

DECLARE @MAXstartdate DATE = (SELECT MAX(startdate) FROM sampletable
SELECT *
FROM sampletable
WHERE startdate = @MAXstartdate

我收到以下错误:

enter image description here

我通过以下代码解决了该问题:

SELECT *FROM sampletable
WHERE startdate = (SELECT MAX(startdate) FROM sampletable)

enter image description here

我使用以下代码使用上述查询的结果创建了一个小部件:

CREATE WIDGET DROPDOWN maxdate DEFAULT "2023-04-23"  CHOICES SELECT  MAX(startdate) FROM sampletable ;

enter image description here

我能够使用以下代码访问小部件值:

SELECT * 
FROM sampletable
WHERE startdate = getArgument('maxdate')

enter image description here

关于sql - 创建在 Azure Databricks 中传递日期以进行查询的小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75931960/

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