首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用join和left join mysql

如何使用join和left join mysql
EN

Stack Overflow用户
提问于 2019-02-15 11:47:40
回答 1查看 27关注 0票数 1

我想使用join和left join来显示我的数据库。但看起来效果不太好。

以下是我尝试的内容

代码语言:javascript
复制
SELECT ordercustline.QuantityOrdered,ordercustline.ProductID,ordercustline.UnitCustPrice,ordercustline.QuantityDelivered,ordercustline.Active,ordercustline.ProductNumber,products.ProductNumber as PN,products.id,pdt.ProductName,dbpjs.CodeName,ordercustline.id as oid, pdt.LanguageID 
  FROM ordercustline 
  LEFT JOIN products ON products.id = ordercustline.ProductID 
  LEFT JOIN producttexts as pdt ON pdt.ProductID = products.id 
  JOIN DiagnosisBPJS as dbpjs ON dbpjs.id = ordercustline.ProductNumber 
  WHERE ordercustline.OrderID = 20 AND ordercustline.Active = 2 AND pdt.LanguageID = 'en'

问题是当ordercustline.ProductID具有null值时,查询将无法工作,我认为这是因为pdt.LanguageID = 'en'

当我删除它时,查询工作正常,但我想用pdt.LanguageID = 'en'过滤产品。

即使ordercustline.ProductIDnull值,我也要做些什么才能让它正常工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-15 11:50:06

pdt.LanguageID = 'en'条件放在ONClausee中,而不是Where clause

代码语言:javascript
复制
SELECT ordercustline.QuantityOrdered,ordercustline.ProductID,ordercustline.UnitCustPrice,ordercustline.QuantityDelivered,ordercustline.Active,ordercustline.ProductNumber,products.ProductNumber as PN,products.id,pdt.ProductName,dbpjs.CodeName,ordercustline.id as oid, pdt.LanguageID 
  FROM ordercustline 
  LEFT JOIN products ON products.id = ordercustline.ProductID 
  LEFT JOIN producttexts as pdt ON pdt.ProductID = products.id AND pdt.LanguageID = 'en'
  JOIN DiagnosisBPJS as dbpjs ON dbpjs.id = ordercustline.ProductNumber 
  WHERE ordercustline.OrderID = 20 AND ordercustline.Active = 2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54702420

复制
相关文章

相似问题

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