有人可以告诉我如何将这两个查询合并为一个查询吗?
我已经尝试过此代码,但是这里的问题是它不会更新Adserver表。
with first as (
select *, c_date = Current_date() from FRIDAY.Adserver where C_date IS NULL
),
second as (
select * from FRIDAY.Adserver JOIN FRIDAY.Matching_Table
ON Adserver.Placement_ExtID = Matching_Table.string_field_0
),
Tird As(
Select *, CONCAT(Cast(Date as String),"-",Second.string_field_0) AS New_IDS from Second
) Select * from Tird
首先,我需要使用当前日期更新Adserver表:
查询1: UPDATE FRIDAY.Adserver SET C_date()= CURRENT_Date()其中C_date为NULL;
然后我只选择当前日期的数据:
查询2:
第一个为( 从FRIDAY.Adserver中选择*,其中C_date = Current_date() ), 第二个 从First JOIN FRIDAY.Matching_Table1中选择* ON First.Placement_ExtID = Matching_Table1.string_field_1或First.Placement_ExtID = Matching_Table1.string_field_0 ), 奇数As( 选择*,CONCAT(Cast(日期作为字符串),“-”,Second.string_field_0)AS Second_IDS(从Second)选择*从Tird中选择
是否有将上述查询1和查询2组合在一起的方法?
答案 0 :(得分:1)
那不可能。
查询可以更改数据(INSERT,UPDATE,DELETE)或返回数据(SELECT)。要同时执行两个代码。但这取决于使用的数据库服务器。
例如,您可以创建一个函数,该函数首先执行UPDATE语句,然后从SELECT语句返回数据。但是正如我所说,能否实现以及如何实现取决于数据库系统。