Google Cloud Spanner Pivot/Coalesce/ широкая таблица?

Предполагая, что у меня есть следующие таблицы:

родители

| id    | name    |
-------------------
| 1     | Dave    |
| 2     | Alice   |

дети

| id    | parent_id    | child_name  |
---------------------------------------
| 6     | 1            | Clint       |
| 7     | 1            | Oscar       |
| 8     | 2            | Oscar       |
| 9     | 1            | Davey       |

Если у родителя много детей, можно ли повернуть таблицу родителей, чтобы ввести все имена детей следующим образом:

| id    | name    | child_name | child_name | child_name |
----------------------------------------------------------
| 1     | Dave    | Clint      | Oscar      | Davey      |
| 2     | Alice   | Oscar      |            |            |

и / или запрос для всех родителей, у которых есть ребенок с именем "Оскар" или ребенок с именем "Дейви"?

В Oracle/ других движках SQL мы могли бы использовать PIVOT или, может быть COALESCE функции, но в Spanner они отсутствуют и не могут увидеть, возможен ли этот тип запроса / вывода?

1 ответ

PIVOT выглядит как команда, специфичная для T-SQL, которой нет в SQL 2011. Cloud Spanner поддерживает функцию COALESCE.

Другие вопросы по тегам