我有两张桌子:
第一表:
code store sent
1000002 Store1 0
1000002 Store2 0
1000002 Store3 0
第二表:
code stores
1000002 Store1,Store3
我想要做的是更新FirstTable.sent以获取特定代码,仅针对SecondTable.stores中存在的记录
我有一个过程,它接受一个字符串和一个分隔符并从字符串构建一个结果集。例如,如果我拨打以下电话:
call sp_csv_as_resultset("A,B,C,D", ",");
我得到以下输出作为结果集:
A
B
C
D
我在下一个更新语句中进行了该过程,旨在实现我所需要的:
update FirstTable ft
inner join et_sap_magento_store_ids_removals_IF st
on ft.code = st.code
set ft.sent = 1
and ft.sent = 0
and ft.store in (sp_csv_as_resultset(st.stores, ','));
但如您所知,您不能在 select 中调用存储过程。
我认为一个函数也不能满足我的需求,因为它不能返回表或结果集。有没有办法在不改变设计的情况下做我需要的事情?