【发布时间】:2010-04-14 15:14:21
【问题描述】:
我的谷歌搜索技能让我失望了,而且我无论如何都不是数据库专家!我有一个非常简单的数据库架构,如下所示:
database schema http://bit.ly/adeUVL
CANDY 表中的properties_id 是EXPENSIVE_PROPERTIES 表中id 的外键。 properties_id 仅设置如果糖果很贵。如果它很昂贵,则将填写 EXPENSIVE_PROPERTIES 表中的相应值。
当我想得到一份糖果的清单时,我基本上想这样做:
- 请求 CANDY 表中的所有属性,例如名称和颜色
- 如果 properties_id 值不为空,则可选择获取昂贵的属性
过去,我做过两个查询,但这很愚蠢,因为我应该能够创建一个视图,将所有属性聚合到一个表中,如果没有对应的字段,则将其他字段留空EXPENSIVE_PROPERTIES 表中的 ID。
谁能告诉我如何在 SQLite 中创建这个视图?我认为这是可能的,但无法弄清楚from the docs:
IF NOT EXISTS 元素似乎与特定字段值的存在没有任何关系。
更新
问题已得到解答,但我觉得奇怪的一件事是,在某些情况下我会看到重复的条目。我正在使用 SQLite Administrator,当我执行 CREATE VIEW 语句并查看结果选项卡时,我得到了唯一的条目。如果我只是做一个 SELECT 语句,我会得到重复的行。如果我创建视图,然后执行 SELECT * FROM myview;我还看到重复的行。任何人都可以对此有所了解吗?我应该创建一个新问题吗?
更新 #2
没关系,我发现了我的错误——我在 FROM 之后有两个表,这导致了重复。
【问题讨论】:
标签: database sqlite view boolean