Abap 选择位置条件中的默认比较操作数
我有一个表CategoryColor,如果找不到类别,它应该返回默认类别“*”中的颜色 示例:如果表格包含以下行:Abap 选择位置条件中的默认比较操作数,abap,opensql,Abap,Opensql,我有一个表CategoryColor,如果找不到类别,它应该返回默认类别“*”中的颜色 示例:如果表格包含以下行: Category Color * white * black 1 red 1 blue 1 green 1 black 如果我搜索类别“1”,查询应该得到4种颜色 如果我搜索类别“2”,它在表中没有记录,查询应该从类别“*”中获得2种颜色 是否可以使用OpenSQL在一条语句中获得所
Category Color
* white
* black
1 red
1 blue
1 green
1 black
如果我搜索类别“1”,查询应该得到4种颜色
如果我搜索类别“2”,它在表中没有记录,查询应该从类别“*”中获得2种颜色
是否可以使用OpenSQL在一条语句中获得所需的确切列表
我尝试了CASE和子查询(EXIST),但没有成功
它不是我代码的拦路虎,因为我可以先检查我的类别是否有记录,或者选择我的类别+默认值always,然后删除其他类别是否有记录的默认值。我想你可以使用UNION。我没有尝试代码,它可能包含类型错误
SELECT
category,
color
FROM CategoryColours
WHERE category = lv_category
UNION
SELECT
category,
color
FROM CategoryColours
WHERE category eq '*'
AND NOT EXISTS ( SELECT color
FROM CategoryColours
WHERE category = lv_category
)
INTO TABLE @DATA(lt_itab).
我想你可以用工会。我没有尝试代码,它可能包含类型错误
SELECT
category,
color
FROM CategoryColours
WHERE category = lv_category
UNION
SELECT
category,
color
FROM CategoryColours
WHERE category eq '*'
AND NOT EXISTS ( SELECT color
FROM CategoryColours
WHERE category = lv_category
)
INTO TABLE @DATA(lt_itab).
请您添加一些您尝试使用的SQL代码,并尝试向您的问题中添加格式化的、可读的示例数据。听起来您可以使用该函数。请您添加一些您尝试使用的SQL代码,并尝试向您的问题中添加格式化的、可读的示例数据。听起来你可以使用这个功能。