连接表以形成视图时生成“源”列值

时间:2014-02-24 12:48:36

标签: sql sqlite

我正在使用sqlite创建一个Android应用程序并提出以下问题:

在连接两个或多个表来创建视图时,有什么方法可以为'source'列生成值?例如,假设我有以下两个表

Table 1 (Fruit)         Table 2 (Vegies)

Name   | Colour         Name    | Colour
-------|--------        --------|--------
Apple  | Red            Celery  | Green
Orange | Orange         Carrot  | Orange
Pear   | Green          Lettuce | Green

我想创建一个看起来像这样的视图:

View (Food)

Name    | Colour  | Type
--------|---------|---------
Apple   | Red     | Fruit
Orange  | Orange  | Fruit
Pear    | Green   | Fruit
Celery  | Green   | Vegie
Carrot  | Orange  | Vegie
Lettuce | Green   | Vegie

这可能会也可能不会......但我认为值得一提。重要的是,我可以在我的应用程序中告诉该行来自哪个表或“源”。可能有一个更好的方法来做它而不是一个视图,但我想这样我可以保存我自己的表中的所有数据(具有特定于表所持有的额外信息),我不需要重复任何事情。

P.S。对SQL / Sqlite来说很新,所以如果你能添加一些很棒的解释呢!

非常感谢。

1 个答案:

答案 0 :(得分:2)

也许这将是一个简单的解决方案

select Fruits.*, 'Fruit' as type from Fruits union select Vegies.*, 
'Vegie' from vegies

希望有所帮助