多表查询——将几个关联表中的字段组合起来查出想要的内容
带我的让我建个表查出三个数据,和我说了要查那几个字段,然后好像很模糊的说了用SQL写,另外一种是直接去网站查出来然后一个一个的手动添加进表中,我没太明白他说什么,而且他和我说用SQL写的时候我也有点懵逼不知道他说的什么,他表达的不清楚,我当时是完全不知道他要表达的是用SQL关联查询,查出这个个字段,然后我蠢蠢的就用了第二种方法一个一个的查,我还问他这样可以吗,他说行吧,但是我一看有一百多个国家,每个国家对应我国大几百个城市,我一种添啊添,填了三个小时还没只是填了冰山一角,感觉这个进度,没有三天想都不要想,后来嘉哥看见我怎么还没下班,就问我,我说在写这个东西,他说你这样写到什么时候,然后让我别写了,明天他给我写个SQL语句一下全部查出来,听他这一说我曹,感觉SQL好厉害,我手写要三天写完,几句SQL只用几十秒就能完成三天的工作量。然后第二天他就问带我的,说他没和我说用SQL写出来吗?带我的说他说过,但是在我这里真的是和没说一样啊喂。。。。。然后,嘉哥说你和他说清楚啊,教他怎么写,然后带我的有点不满意就说,那这样还不如我自己写喽,然后他就自己在那写,写好了以后发给我下面的代码,让我看看。。。。。。我看的感觉很羞耻啊。
SELECT
k.CN_NAME,
(select AREA_NAME from area g where g.AREA_ID = f.PARENT_ID) as PROVICE,
f.AREA_NAME
FROM
EMS_SHIP_PRODUCT_AREA p,
EMS_SHIP_PRODUCT_DIRECTION s,
EMS_SHIP_DIRECTION k,
AREA f
WHERE
p.PRODUCT_SID = s.SID
and p.AREA_CODE = f.AREA_ID
and s.DIRECTION_SID = k.SID
and p.product_sid IN (
SELECT
t.sid
FROM
EMS_SHIP_PRODUCT_DIRECTION t
WHERE
t.PRODUCT_SID = '105'
AND t. STATUS = '1'
)
ORDER BY k.CN_NAME DESC