2016-06-18 6 views
0

SQLiteデータベースに2つのテーブルAとBがあります。表Aには、次のようになります。2つのSQLiteテーブルの間に最新の行を選択します

| id | name   | description | created  | 
|------|---------------|---------------|--------------| 
| 1 | "Something" | "Something" | 1466266963 | 
| 2 | "Something" | "Something" | 1466266965 | 
| 3 | "Something" | "Something" | 1466266967 | 
| 4 | "Something" | "Something" | 1466266969 | 
| 5 | "Something" | "Something" | 1466266971 | 
| 6 | "Something" | "Something" | 1466266975 | 

とテーブルBはそのようなものです:

| id | title  | content  | created  | 
|------|---------------|---------------|--------------| 
| 1 | "Something" | "Something" | 1466266951 | 
| 2 | "Something" | "Something" | 1466266953 | 
| 3 | "Something" | "Something" | 1466266954 | 
| 4 | "Something" | "Something" | 1466266956 | 
| 5 | "Something" | "Something" | 1466266957 | 
| 6 | "Something" | "Something" | 1466266978 | 

そして、私は2つのテーブル間の4最古を取得したいです。

したがって、この例では、私はそのようなことになるだろう:

| id | title  | name   | content  | description | created  | 
|------|---------------|---------------|---------------|---------------|--------------| 
| 6 | "Something" |    | "Something" |    | 1466266975 | 
| 6 |    | "Something" |    | "Something" | 1466266975 | 
| 5 |    | "Something" |    | "Something" | 1466266975 | 
| 4 |    | "Something" |    | "Something" | 1466266975 | 

を私はSELECT A.*, B.* FROM A, B ORDER BY created DESC LIMIT 4を試してみましたが、私は(私のテーブルはいえ空でない)空の結果を取得します。

私もJOINを見ましたが、何も動作していませんでした。

ありがとう。

答えて

0

使用union all

select * from(
select * from a 
union all 
select * from b 
) t 
order by created DESC LIMIT 4 
+0

私はそのエラーを取得していない: 'ステートメントを準備することができません:そのような列を:created'' created'カラムは、なぜ、両方のテーブルに存在するにもかかわらず? – au2001

+0

このクエリから 'select * from a 共用体all select * from b' – RIKI

+0

ああ私は2番目の' select'で 'created'カラムを選択しませんでした。 – au2001

関連する問題