如何列出记录来源的表格?

时间:2014-01-01 20:51:44

标签: sql database sqlite

我有一个数组,其中包含从数据库中检索到的一些记录。该数组保存来自不同表的特定记录的主键。

可以使用哪些SQL来检索具有这些表名称的数组?

视觉表现:

TABLE = BABY_FOODS

NAME   |  H20_PERC   | ENERGY

CEREAL      1.6         100  

TABLE = BEEF_PRODUCTS

NAME   |  H20_PERC   | ENERGY

GOAT        75.8        400 

String[] selectedNames = {CEREAL, GOAT, HORSE, LETTUCE};

String[] tableNames = ? (Here, I'm trying to get BABY_FOODS, BEEF_PRODUCTS, etc)

谢谢

编辑:数组大小可能随查询而变化。

我正在使用Java

我的想法是创建一个具有以下结构的Cursor

public Cursor selectTablesFromSearch(String value){
    String selectQuery = "SELECT TABLENAME WHERE THE VALUE HAS BEEN FOUND";

return myDataBase.rawQuery(selectQuery, null);
}

1 个答案:

答案 0 :(得分:1)

您可以使用union从多个表中选择行:

select  TableName
,       Name
from    (
        select  'BABY_FOODS' as TableName
        ,       Name
        from    BABY_FOODS
        union all
        select  'BEEF_PRODUCTS'
        ,       Name
        from    BEEF_PRODUCTS
        ) as SubQueryAlias
where   Name in ('CEREAL', 'GOAT', 'HORSE', 'LETTUCE')

union的第一部分确定列名。第二个(和更多)部分可以安全地省略as子句。