2011-08-09 15 views
0

私は、クエリを行う2つのテーブルにデータを持っています。各テーブルには異なる数のカラムがありますが、どちらもクエリ用に使用する1つのカラムvIDがあります。私は1つのテーブルを照会している場合、私は私のWHERE句でこの列を使用します。異なる列を持つ複数のテーブルからのクエリ

"SELECT * FROM table1 WHERE vID = ?" 

そして私は私のlistAdapterのために、そのカーソルを使用します。

は問題は同じリストである、私はまた、別のテーブルからデータを表示したい:

"SELECT * FROM table2 WHERE vID = ?" 

両方のテーブル私は私のアダプタで使用する日、月、年の値を持っており、私が使用したい名前の列。

私はUNIONを試しましたが、両方のテーブルの列数が異なるため、エラーが返されます。

クエリはどのように見えるのですか?ありがとう。

+0

テーブルに参加しようとしましたか? –

答えて

1

列が実際に同じである場合、あなたはあなたが取得しているエラーは、2つのテーブルが異なる列を持っているので、あなたはまだUNIONそれらができているUNION

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

を使用するために選択のものを指定する必要がありますスキーマが同一でない場合は、2つのテーブルをどのように整列させるかを指定する必要があります。

+0

だから私のためには、 "名前、日、月、年からFROM Table1 ..."と "SELECT番号、日、月、年からFROM表2 ..."でしょうか?私はそれを試してみる、ありがとう。 – Matt

+0

これで問題なく動作します。私は "_id"を各テーブルのselect句に追加する必要がありました。私はまた、 "年、月、日の順"を追加して、一番上に最新のものを取得しました。助けてくれてありがとう! – Matt

関連する問題