我有一个数组,其中包含从数据库中检索到的一些记录。该数组保存来自不同表的特定记录的主键。
可以使用哪些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);
}
答案 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
子句。