【发布时间】:2021-11-08 13:00:50
【问题描述】:
我是 SQL 的初学者,我有一个 sql 查询,它返回我需要的表信息,表 ARTICLE_MODE:
| GA_CODEARTICLE | C1 | C2 | C3 | GA_LIBELLE | C5 | C6 | GA_LIBREART3 | GA_LIBREART5 |
|---|---|---|---|---|---|---|---|---|
| BUTSS5-RC | SURF HARD WARE | - | Wetsuits | DAY COVER | 2021 | UNISEXE | SURF | SOF |
我需要检索有关第二个表的列的信息。
表MTMPTVGEN 的列MZS_DPAETAST。
在这两个表中,两列包含一些相同的信息:
ARTICLE_MODE 表中的 GA_CODEARTICLE 列。
表MTMPTVGEN的列MZS_ARTICLE。
| GA_CODEARTICLE | MZS_ARTICLE |
|---|---|
| BUTSS5-RC | BUTSS5-RC |
| BUTS85-RC | BUTS85-RC |
| BUTS75-RC | VMA045-VC |
我尝试执行此查询来检索列 MZS_DPAETAST 的值,这些值具有公共值 GA_CODEARTICLE 和 MZS_ARTICLE,它返回给我很多结果:
select MZS_DPAETAST from MTMPTVGEN LEFT OUTER JOIN ARTICLE_MODE on MZS_ARTICLE=GA_CODEARTICLE
但是如何在我的初始查询中插入它?感谢您的帮助。
SELECT GA_CODEARTICLE, CC1.CC_LIBELLE AS C1,
YX2.YX_LIBELLE AS C2,
YX3.YX_LIBELLE AS C3,
GA_LIBELLE,
CC4.CC_LIBELLE AS C5,
CC5.CC_LIBELLE AS C6,
CC6.CC_LIBELLE AS C15,
GA_LIBREART3,
GA_LIBREART5
FROM ARTICLE_MODE
LEFT OUTER JOIN PGI_LOOKUP(GCFAMILLENIV1) CC1 ON GA_FAMILLENIV1=CC1.CC_CODE
AND CC1.CC_TYPE="FN1"
LEFT OUTER JOIN PGI_LOOKUP(GCLIBREART1) YX2 ON GA_LIBREART1=YX2.YX_CODE
AND YX2.YX_TYPE="LA1"
LEFT OUTER JOIN PGI_LOOKUP(GCLIBREART2) YX3 ON GA_LIBREART2=YX3.YX_CODE
AND YX3.YX_TYPE="LA2"
LEFT OUTER JOIN PGI_LOOKUP(GCCOLLECTION) CC4 ON GA_COLLECTION=CC4.CC_CODE
AND CC4.CC_TYPE="GCO"
LEFT OUTER JOIN PGI_LOOKUP(GCFAMILLENIV2) CC5 ON GA_FAMILLENIV2=CC5.CC_CODE
AND CC5.CC_TYPE="FN2"
LEFT OUTER JOIN PGI_LOOKUP(GCFAMILLENIV5) CC6 ON GA2_FAMILLENIV5=CC6.CC_CODE
AND CC6.CC_TYPE="FN5"
WHERE (GA_EMBALLAGE<>"X"
AND (GA_TYPEARTICLE NOT IN ("PRE","FI","FRA","UL","PAC"))
AND ((GA_STATUTART="GEN")))
ORDER BY GA_DATEMODIF DESC
【问题讨论】:
-
顺便问一下,您使用的是什么 DBMS?您应该始终使用相关 DBMS 标记 SQL 请求,因为 SQL 方言可能有很大差异,因此有时正确答案可能在很大程度上取决于 DBMS。
标签: sql sql-server join