Объединение ОБЪЕДИНЕНИЯ ВЕСЬ и ORDER BY в Firebird

Взгляните на это:

>>> a = 256
>>> b = 256
>>> id(a)
9987148
>>> id(b)
9987148
>>> a = 257
>>> b = 257
>>> id(a)
11662816
>>> id(b)
11662828

EDIT: Вот что я нашел в документации Python 2, «Plain Integer Objects» (То же самое для Python 3 ):

Текущая реализация хранит массив целых объектов для всех целых чисел от -5 до 256, когда вы создаете int в этом диапазоне, на котором вы просто возвращаетесь ссылку на существующий объект. Поэтому должно быть возможно изменить значение 1. Я подозреваю, что поведение Python в этом случае не определено. : -)

blockquote>

13
задан Chris 9 December 2008 в 21:00
поделиться

4 ответа

SELECT C1, C2, C3
FROM (
    select C1, C2, C3 from T1
    union all 
    select C1, C2, C3 from T2
)
order by C3
27
ответ дан 1 December 2019 в 06:24
поделиться

Имена полей не требуются, чтобы быть равными. Вот почему Вы не можете использовать имя поля в порядке.
можно использовать полевой индекс вместо этого. Как в:

(select C1, C2, C3 from T1)
union all 
(select C7, C8, C9 from T2)
order by 3  
12
ответ дан 1 December 2019 в 06:24
поделиться

В Firebird 1.5 это работает на меня

create view V1 (C1, C2, C3) as
  select C1, C2, C3 from T1
  union all 
  select C1, C2, C3 from T2

и затем

select C1, C2, C3 from V1 order by C3
2
ответ дан 1 December 2019 в 06:24
поделиться

Выполните ОБЪЕДИНЕНИЕ ВСЕ в представлении (без пункта ORDER BY), затем выберите из представления с помощью ORDER BY.

1
ответ дан 1 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: