2016-06-18 4 views
0

SQLite 데이터베이스에 두 개의 테이블 A와 B가 있습니다.2 개의 SQLite 테이블 사이에 n 개의 최신 행을 선택하십시오.

| 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는 같다 : 표 A는 다음과 같습니다

| 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 | 

그리고 두 테이블 사이의 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

사용

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

union all은 그 오류를 얻을 이러한 열 :은'created' 열이 두 테이블에 존재하더라도 created'을, 왜? – au2001

+0

이 쿼리에서'select * from a union all select * from b' – RIKI

+0

Oh 예 두 번째'select'에서'created' 컬럼을 선택하지 않았습니다. – au2001