永发信息网

三个表查询,但是其中两个表是不直接关联的。具体看问题补充。我只是想知道。MYSQL语句怎么写。

答案:2  悬赏:0  手机版
解决时间 2021-02-01 03:13
  • 提问者网友:孤山下
  • 2021-01-31 03:00
A表
企业ID  企业名称
1    企业001
2    企业002
3    企业003
4    企业004
B表
产品ID  企业ID  主要产品名称
01    1    树脂A
02    1    树脂B
03    2    树脂C
04    3    胶带A
05    4    胶带B
C表
产品ID  企业ID  次要产品名称

01    2    产品A
02    1    树脂原材料
03    2    产品C
04    3    树脂原材料
05    4    产品D
想要达到的效果是:查询 关键字为“树脂”的产品。以企业列出来。检索的时候,没有树脂的企业不显示,没有树脂

企业ID  企业名称  主要产品名称 次要产品名称
——————————————————————————
1     企业001  树脂A 树脂原材料
——————————————————————————
      树脂B
——————————————————————————
2     企业002   树脂C
——————————————————————————
3     企业003 树脂原材料
——————————————————————————
最佳答案
  • 五星知识达人网友:天凉才是好个秋
  • 2021-01-31 03:23
先用a表与B表连接 产生一个数据集
再用a表与c表产生一个数据集
再将两个新的数据集链接起来
select * from(
select 企业id ,企业名称,主要产品名称 from a
inner join b on a.企业id=b.企业id
) x
inner join (

select 企业id ,企业名称,次要产品名称 from a
inner join c on a.企业id=b.企业id)
y
on x.企业id=y.企业id
全部回答
  • 1楼网友:酒者煙囻
  • 2021-01-31 03:29
create temporary table tmp_t1 ( dwdm varchar(20), dwmc varchar(50), type int ); create temporary table tmp_t2 ( dwdm varchar(20), dwmc varchar(50), type int ); select * from (select dwdm,dwmc from tmp_t1 where type=101) as t1 join (select dwdm,dwmc from tmp_t2 where type=102) as t2 on t1.dwdm = t2.dwdm;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯