所以我有两个问题
SELECT DISTINCT ReservationGroupName FROM EventDataTable
和
SELECT DISTINCT BookingEventType FROM EventDataTable
我正在创建一个表单,允许您按其中一个或两个进行过滤,因此我需要在选择下拉列表中打印出每个不同的结果。
我尝试了UNION和UNION ALL,但我只获得了ReservationGroupName的结果数组,还包含 BookingEventType的结果。 ReservationGroupName应该有540个结果,BookingEventType应该有63个结果,并返回一个名为ReservationGroupName的数组,其中包含603个元素。我的问题是我需要区分结果
单独进行两次查询是可能的,但似乎我应该能够将它结合起来,但是看几个小时的旧论坛让我感到困惑。
当前代码:
SELECT DISTINCT ReservationGroupName AS \"group\", '' AS \"type\" FROM EventDataTable
UNION
SELECT DISTINCT BookingEventType AS \"type\", '' AS \"group\" FROM EventDataTable
返回包含所有数据的ReservationGroupName数组,但也返回一个长度相同的数组,该数组由名为EventDataTable的空值填充。
答案 0 :(得分:1)
这可能听起来很愚蠢,但UNION可能依赖于字段名称并为您提供一个结果集,该结果集在您附加到下拉列表的字段中有一堆空字符串。尝试这样的事情......
SELECT DISTINCT ReservationGroupName AS \"entry\", 'GroupName' AS \"type\" FROM EventDataTable
UNION
SELECT DISTINCT BookingEventType AS \"entry\", 'EventType' AS \"type\" FROM EventDataTable
答案 1 :(得分:0)
UNION应该工作。请在下面找到我创建的表格,并从两列中获取不同的值。希望您的设计与以下相同。
创建表EventDataTable ( ReservationGroupName VARCHAR2(20) ,BookingEventType VARCHAR2(20) );
插入EventDataTable值('EMP','S');
插入EventDataTable值('ABC','T');
SELECT DISTINCT ReservationGroupName FROM EventDataTable 联盟 SELECT DISTINCT BookingEventType FROM EventDataTable;
DIS_VAL
ABC EMP 小号 Ť