LINUX.ORG.RU

История изменений

Исправление monk, (текущая версия) :

А что в Монге возвращает этот запрос?

Естественно, столицу штата Нью-Йорк.

А ещё там можно делать наподобие (с точностью до синтаксиса)

SELECT name, altitude
    FROM cities
    WHERE state IS NULL; 
и получать список всех городов кроме столиц.

Запросы к базовой таблице, очевидно, не могут использовать поля из таблиц-потомков

Вот это и плохо. Возьмем мой пример

CREATE TABLE document (
    number            text,
    date      date
);

CREATE TABLE invoice (
    client text
    sum float) 
INHERITS (document);

CREATE TABLE retail (
    sum float
) INHERITS (document);
...

И надо мне получить все документы по контрагенту. На обычном SQL мне придётся тщательно выписать UNION всего, где есть нужное поле.

На mongo всё гораздо проще.

P.S. Может есть открытая реализация SQL от 1C? Где можно писать запросы типа:

SELECT reg.client, reg.sum FROM
sum
WHERE
sum.client IN HIERARCHY (&Buyers)
AND reg.storage.type IN (1, 2, 10)

такое однозначно можно скомпилировать в SQL-92, но размер запроса сокращается в разы и писать проще.

И мой пример в нём будет тупо

SELECT document.number, document.date FROM
document
WHERE client = &client
при таблицах, описанных как выше по тексту (то есть client — поле возможных наследников).

Исходная версия monk, :

А что в Монге возвращает этот запрос?

Естественно, столицу штата Нью-Йорк.

А ещё там можно делать наподобие (с точностью до синтаксиса)

SELECT name, altitude
    FROM cities
    WHERE state IS NULL; 
и получать список всех городов кроме столиц.

Запросы к базовой таблице, очевидно, не могут использовать поля из таблиц-потомков

Вот это и плохо. Возьмем мой пример

CREATE TABLE document (
    number            text,
    date      date
);

CREATE TABLE invoice (
    client text
    sum float) 
INHERITS (document);

CREATE TABLE retail (
    sum float
) INHERITS (document);
...

И надо мне получить все документы по контрагенту. На обычном SQL мне придётся тщательно выписать UNION всего, где есть нужное поле.

На mongo всё гораздо проще.

P.S. Может есть открытая реализация SQL от 1C? Где можно писать запросы типа:

SELECT reg.client, reg.sum FROM
sum
WHERE
sum.clinet IN HIERARCHY (&Buyers)
AND reg.storage.type IN (1, 2, 10)

такое однозначно можно скомпилировать в SQL-92, но размер запроса сокращается в разы и писать проще.