从具有不同列的多个表中查询

时间:2011-08-09 23:35:34

标签: android sqlite

我想从两个表中查询数据。每个表都有不同数量的列,但它们都有一列vID,我想用于查询。如果我查询一个表,我会在WHERE子句中使用此列:

"SELECT * FROM table1 WHERE vID = ?"

然后我会将该光标用于我的listAdapter。

问题出在同一个列表中,我还想显示另一个表中的数据:

"SELECT * FROM table2 WHERE vID = ?"

两个表都包含我想在我的适配器中使用的日,月和年值,以及我想要使用的名称列。

我尝试过UNION,但是返回错误,因为两个表都有不同的列数。

我的查询应该是什么样的?感谢。

1 个答案:

答案 0 :(得分:1)

如果列确实相同,则需要在select中指定使用UNION

的列
SELECT foo,biz,baz FROM table1 WHERE vID = ?
UNION
SELECT foo,biz,baz FROM table2 WHERE vID = ?

你得到的错误是因为这两个表有不同的列,你仍然可以UNION它们,但如果它们的模式不相同,你必须指定如何对齐这两个表。