前提・実現したいこと
SQLITE3でSQLの学習をしている初学者です。
複数のテーブルからデータを結合し以下のような結果を得れるSQL文を作ろうとしています。
|ID|name|url|end(最大値)|title|
|:--|:--:|--:|
|1|mySQL|www.oracle.com|201604181900|mySQL tutorial part5|
|2|oracleDB|www.oracle.com|201604161300|step up oracle lesson3|
|3|PostgreSQL|www.postgresql.com|201604151300|PostgreSQL for beginner part2|
各テーブル
テーブル名:DB_LIST
|ID|name|type
|:--|:--:|
|1|mySQL|RDBMS
|2|oracleDB|RDBMS
|3|PostgreSQL|RDBMS
テーブル名:DB_official
name | url |
---|---|
mySQL | www.oracle.com |
oracleDB | www.oracle.com |
PostgreSQL | www.postgresql.com |
テーブル名:show_schedule
|start|end|name|title|summary|
|:--|:--:|:--:|
|201604141800|201604141900|mySQL|mySQL tutorial part1|what's SQL|
|201604151800|201604151900|mySQL|mySQL tutorial part2|what's table|
|201604161800|201604161900|mySQL|mySQL tutorial part3|what's field|
|201604171800|201604171900|mySQL|mySQL tutorial part4|what's CREATE|
|201604181800|201604181900|mySQL|mySQL tutorial part5|what's INSERT|
|201604141200|201604141300|oracleDB|step oracle lesson1|how use INSERT|
|201604151200|201604151300|oracleDB|step oracle lesson2|how use SELECT|
|201604161200|201604161300|oracleDB|step oracle lesson3|how use DELETE|
|201604141200|201604141300|PostgreSQL|PostgreSQL for beginner part1|noSQL|
|201604151200|201604151300|PostgreSQL|PostgreSQL for beginner part2|RDMBS|
startとendはINTEGERでその他はTEXTで宣言しています。
試したこと
その1
SQL
1SELECT DB_list.ID,DB_list.name,DB_official.url FROM DB_list INNER JOIN DB_official ON DB_list.name = DB_official.name;
ID | name | url |
---|---|---|
1 | mySQL | www.oracle.com |
2 | oracleDB | www.oracle.com |
3 | PostgreSQL | www.postgresql.com |
DB_LISTとDB_officialの合成が出来た。
その2
SQL
1SELECT end, name, title FROM show_schedule AS m 2WHERE end = ( 3 SELECT max(end) 4 FROM show_schedule AS s 5 WHERE m.name = s.name 6 )
end | name | title |
---|---|---|
201604181900 | mySQL | mySQL tutorial part5 |
201604161300 | oracleDB | step up oracle lesson3 |
201604151300 | PostgreSQL | PostgreSQL for beginner part2 |
show_scheduleからnameで括りendの最大値を求めることが出来た。
質問
その1とその2のSQL文を合体できれば実現出来そうな気がするのですが、その方法がわかりません。ご教授お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/16 07:33