0

所以我有两个疑问

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。

4

2 回答 2

1

这听起来可能很愚蠢,但 UNION 可能依赖于字段名称并为您提供一个结果集,该结果集在您附加到下拉列表的字段中包含一堆空字符串。尝试这样的事情......

SELECT DISTINCT ReservationGroupName AS \"entry\", 'GroupName' AS \"type\" FROM EventDataTable
    UNION
SELECT DISTINCT BookingEventType AS \"entry\", 'EventType' AS \"type\" FROM EventDataTable
于 2013-06-25T15:36:22.553 回答
0

联盟应该工作。请在我创建的表格下方找到我从两列中获得不同的值。希望您的设计与以下相同。

创建表 EventDataTable ( ReservationGroupName VARCHAR2(20) , BookingEventType VARCHAR2(20) );

插入 EventDataTable 值('EMP','S');

插入 EventDataTable 值('ABC','T');

SELECT DISTINCT ReservationGroupName FROM EventDataTable union SELECT DISTINCT BookingEventType FROM EventDataTable;

DIS_VAL

ABC EMP S T

于 2013-06-25T15:31:43.797 回答