我正在为一个站点创建数据库结构,我正在使用第一次表继承。当我在主桌上做出选择时,我需要知道是否有可能抓住儿童田地。 我的桌子就是......
CREATE TABLE actions (
action_id integer,
action_type varchar
);
CREATE TABLE likes (
somefield char(10)
) INHERITS (actions);
当我在不使用JOIN的情况下选择动作表时,是否有选项可以获得“likes.somefield”?
答案 0 :(得分:1)
执行所需操作的唯一方法是直接从目标表中进行选择。如果您(比方说)希望NULL
为somefield
所有非likes
记录,那么您需要:
SELECT
action_id, action_type, somefield
FROM ONLY likes
SELECT
action_id, action_type, null
FROM ONLY actions
UNION ALL
但随着表格的增长,这很快变得很麻烦;你基本上没有使用表继承功能。这就是FROM ONLY
表示的意思 - 只使用该表,而不是任何孩子。