经常写一些联合查询,联合一多了,代码就成倍的增加,时间一长,连我自己也看不懂到底是什么意思了。做Oracle 的时候,就看到有个 WITH, 不过没有深入的看,就会 WITH 一个出来。

前几天又想用这个WITH,于是细心的查查了,原来 WITH 多个 联系查询的语法是这样的:

 WITH PPC AS (
  SELECT
    A.*
  FROM(
    SELECT
      ROW_NUMBER() OVER (PARTITION BY PPCMemberID ORDER BY CreatedOn DESC) AS RN,
      PPCMemberID,PPC,DailyBudget,CreatedOn
    FROM
  CSK_Store_PPCBudgetHistory
  ) A
  WHERE RN = 1
),
PPCM AS (SELECT PPCMemberID,RetailerID FROM CSK_Store_PPCMember),
RP AS (SELECT RetailerID,ProductID,PurchaseURL FROM CSK_Store_RetailerProduct WHERE ProductID = 1337534)
SELECT
  RP.*,
  PPCM.PPCMemberID,
  PPC.PPC,PPC.DailyBudget
FROM
  RP LEFT JOIN
  PPCM ON RP.RetailerID = PPCM.RetailerID LEFT JOIN
  PPC ON PPC.PPCMemberID = PPCM.PPCMemberID

相关文章:

  • 2021-07-28
  • 2022-12-23
  • 2021-11-12
  • 2021-11-29
  • 2021-08-17
  • 2022-12-23
  • 2021-05-23
  • 2022-12-23
猜你喜欢
  • 2021-09-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-31
相关资源
相似解决方案