我有下表:
Table1
___________
Location_ID
User_ID
Type_ID
UserTypes
_________
Type_ID Type_name
1111 Type1
2222 Type2
我正在交互式网格中显示特定位置的数据,并且对于用户类型,有一个选择列表从UserTypes表中提取数据:
SELECT Type_name d, type_id r
FROM UserTypes
WHERE (is_active=1 OR type_id = TO_NUMBER(:type_id))
对于每个位置,Type1
只能有一个用户,因此每当我向网格中添加记录时,
我想检查该特定位置ID是否已经存在类型Type1
的用户,因此,如果存在,我只想在选择列表中显示选项Type 2
。
如何修改我的列源以合并它?
答案 0 :(得分:0)
我认为您想要一个带有EXISTS
关键字(例如以下关键字)的解决方案
SELECT Type_name d, type_id r
FROM UserTypes u
WHERE EXISTS ( SELECT Type_ID
FROM Table1
WHERE Type_ID = u.Type_ID
AND Type_ID = TO_NUMBER(:type_id)
AND Type_name = 'Type1'
GROUP BY Type_ID
HAVING count(*)=1
)
AND is_active=1
AND Type_name = 'Type2';