Как использовать столбцы представлений в одном представлении в оракуле [дубликат]

Я не могу вспомнить, где я нашел это решение, но я считаю, что это самый «элегантный» из моей не-Python-экспертной точки зрения:

class SomeSingleton(dict):
    __instance__ = None
    def __new__(cls, *args,**kwargs):
        if SomeSingleton.__instance__ is None:
            SomeSingleton.__instance__ = dict.__new__(cls)
        return SomeSingleton.__instance__

    def __init__(self):
        pass

    def some_func(self,arg):
        pass

Почему мне нравится это? Нет декораторов, нет мета-классов, нет множественного наследования ... и если вы решите, что больше не хотите, чтобы это был синглтон, просто удалите метод __new__. Поскольку я новичок в Python (и ООП в целом), я ожидаю, что кто-то задаст мне прямо, почему это ужасный подход?

5
задан Alex Poole 6 January 2016 в 16:49
поделиться

2 ответа

В стандартном SQL: все столбцы в каком-либо конкретном SELECT разделе вычисляются так, как будто «все они вычисляются параллельно (чтобы позволить некоторой реализации выполнить именно это).

, вам не разрешено зависеть от другого столбца, определенного в одном и том же предложении SELECT, поскольку его значение еще не вычислено.

4
ответ дан Damien_The_Unbeliever 23 August 2018 в 01:01
поделиться

Если вы проверите документацию , вы увидите, что вам разрешено использовать ее только в предложении order by:

Укажите псевдоним для столбца выражение. Oracle Database будет использовать этот псевдоним в заголовке столбца набора результатов. Ключевое слово AS необязательно. Псевдоним эффективно переименовывает элемент списка выбора в течение всего времени запроса. Псевдоним может использоваться в order_by_clause, но не в других предложениях запроса.

3
ответ дан Gergely Bacso 23 August 2018 в 01:01
поделиться
Другие вопросы по тегам:

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