我想从两个表中查询数据。每个表都有不同数量的列,但它们都有一列vID,我想用于查询。如果我查询一个表,我会在WHERE子句中使用此列:
"SELECT * FROM table1 WHERE vID = ?"
然后我会将该光标用于我的listAdapter。
问题出在同一个列表中,我还想显示另一个表中的数据:
"SELECT * FROM table2 WHERE vID = ?"
两个表都包含我想在我的适配器中使用的日,月和年值,以及我想要使用的名称列。
我尝试过UNION,但是返回错误,因为两个表都有不同的列数。
我的查询应该是什么样的?感谢。
答案 0 :(得分:1)
如果列确实相同,则需要在select中指定使用UNION
的列SELECT foo,biz,baz FROM table1 WHERE vID = ?
UNION
SELECT foo,biz,baz FROM table2 WHERE vID = ?
你得到的错误是因为这两个表有不同的列,你仍然可以UNION它们,但如果它们的模式不相同,你必须指定如何对齐这两个表。