首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SQL中创建大型查询

如何在SQL中创建大型查询
EN

Stack Overflow用户
提问于 2017-10-30 02:13:15
回答 1查看 56关注 0票数 0

我有4张表:

代码语言:javascript
复制
CREATE TABLE workers (
ID_worker    INTEGER PRIMARY KEY AUTOINCREMENT,
name_worker INTEGER UNIQUE);

CREATE TABLE equip (
ID_equip     INTEGER PRIMARY KEY AUTOINCREMENT,
name_equip TEXT);

CREATE TABLE models (
ID_model     INTEGER PRIMARY KEY AUTOINCREMENT,
ID_equip1        INTEGER REFERENCES equip (ID_equip),
name_model TEXT);

CREATE TABLE work(
ID_worker1    INTEGER REFERENCES workers (ID_worker),
ID_model1 INTEGER REFERENCES models (ID_model) );

我想创建查询,例如: ID_worker / name_worker / ID_model / ID_model,在第一个"ID_model“中出现模型,在第二个"ID_model”中出现ID_equip1=1 - ID_equip1=2

样本数据

代码语言:javascript
复制
 Table workers
 /ID_worker/name_worker/
 /1        /Andrew     /
 /2        /Max        /
Table equip
/ID_equip/name_equip/
/1       /equip1    /
/2       /equip2    /
Table models
/ID_model/ID_equip1/name_model/
/1       /1        /BH-1      /
/2       /1        /BH-2      /
/3       /2        /CH-1      /
/4       /2        /CH-2      /
Table work
/ID_worker1/ID_model1/
/1         /1        /
/1         /4        /
/2         /2        /
/2         /3        /

我想要那个结果

代码语言:javascript
复制
/ID_worker/name_worker/ID_model/ID_model/
/1        /Andrew     /1       /4       /
/2        /Max        /2       /3       /
EN

回答 1

Stack Overflow用户

发布于 2017-10-30 03:53:56

试试这个-

代码语言:javascript
复制
SELECT WS.ID_worker, WS.name_worker, MIN(W.ID_model1), MAX(W.ID_model1)
FROM workers WS
INNER JOIN work W ON WS.ID_worker = W.ID_worker1
GROUP BY WS.ID_worker, WS.name_worker
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47003587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档