Можно ли иметь ячейку в table1 "указывать на" ячейку в table2? - PullRequest
1 голос
/ 22 ноября 2010

У меня есть иерархическая структура в программном приложении, управляемом базой данных.

Каждая строка в parentTable «владеет» количеством строк в childTable.

Если childTable не имеет значения, установленного в columnA, он должен вернуть значение, указанное в соответствующей строке parentTable columnB.

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

(смена родителя может привести к большому количеству изменений у ребенка).

Если это невозможно, может кто-нибудь предложить другой подход?

Ответы [ 2 ]

1 голос
/ 14 ноября 2011

FWIW через один год, нормального JOIN между родителем и ребенком и использованием функции ISNULL будет достаточно. Нет необходимости начинать дублирование данных.

SELECT ISNULL(c.columnA, p.columnB)
FROM   childTable c
       INNER JOIN parentTable t ON t.ID = c.ParentID
0 голосов
/ 22 ноября 2010

Похоже, что ваша структура данных неверна, если вы скопировали данные в дочернюю таблицу.http://en.wikipedia.org/wiki/Database_normalization

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...