2017-06-17 10 views
0

私は2つのテーブルを持っています。関連のない2つのテーブルsqliteからデータを取得するには?

table_1: id, title, img_url, url, gif_url, date 
table_2: id, title, url, date 

今、私は唯一の私は、列の異なる量を持つ2つのテーブルのために同じことを行うことができますどのようにこの

SELECT * FROM table_1 ORDER BY date DESC LIMIT 10 

のように表1からデータを取得しますか?

+1

https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql -query – Yunnosch

答えて

1

不足している列を埋めるとUNION ALLを使用できます。
などです。 (文字列 ' - 'のように、あなたのURLがテキストであると仮定して)定数値を挿入してください。

SELECT * FROM table_1 
UNION ALL 
SELECT id, title, '-' as img_url, url, '-' as gif_url, date FROM table_2 
ORDER BY date DESC LIMIT 10; 

MCVEが利用可能であれば、これをテストする方がはるかに簡単です。

Iは、(できれば基本的に同等の)MCVE基礎としてこれを使用する:

PRAGMA foreign_keys=OFF; 
BEGIN TRANSACTION; 
CREATE TABLE table_1 (a int, b int, c int); 
INSERT INTO table_1(a,b,c) VALUES(1,5,7); 
INSERT INTO table_1(a,b,c) VALUES(2,10,14); 
CREATE TABLE table_2 (a int, c int); 
INSERT INTO table_2(a,c) VALUES(3,11); 
INSERT INTO table_2(a,c) VALUES(6,22); 
COMMIT; 

および構造的に同一の試験コード:

select * from table_1 
UNION ALL 
select a, 42 as b, c from table_2 
order by a LIMIT 3; 

出力を与える:

a      b   c 
-------------------- ---------- ---------- 
1      5   7 
2      10   14 
3      42   11 

注「3」で始まり、「b」の代わりに42を含む表2の行。 42は文字列 ' - 'の整数 - アナログです。

+0

お手数ですが、ありがとうございました。 – Dezork

関連する問題