SQL СЛУЧАЙ ЗАПРОСА, КОГДА СУЩЕСТВУЕТ ДОБАВИТЬ МНОЖЕСТВЕННО - PullRequest
0 голосов
/ 22 апреля 2020

Мне нужно добавить еще один подзапрос, чтобы проверить, в столбце customertype ниже приведен запрос о добавлении в исходный запрос.

CASE 
  WHEN EXISTS (
      SELECT ItemCode
      FROM ORIN
      INNER JOIN RIN1 ON ORIN.DocEntry = RIN1.DocEntry
      WHERE CardCode = X.CardCode
        AND ItemCode = X.ItemCode
        AND ORIN.DocDate < X.[Trans Date]
        AND year(X.[Trans Date]) >= year(getdate()) - 4
      )
    THEN 'Existing'
  ELSE 'OMP'
  END )

. Ниже приведен исходный запрос * 1006. *

SELECT 
   X.#
  ,(
    CASE 
      WHEN EXISTS (
          SELECT ItemCode
          FROM OINV
          INNER JOIN INV1 ON OINV.DocEntry = INV1.DocEntry
          WHERE CardCode = X.CardCode
            AND ItemCode = X.ItemCode
            AND OINV.DocDate < X.[Trans Date]
            AND year(X.[Trans Date]) >= year(getdate()) - 4
          )
        THEN 'Existing'
      ELSE 'OMP'
      END
    ) AS CustomerType
FROM InvoiceData X

Моя цель - две проверки, которые существуют в столбце customertype. это в основном два запроса проверки

1 Ответ

0 голосов
/ 22 апреля 2020

Если я правильно понимаю, я считаю, что вы можете включить оба подзапроса с AND.

SELECT 
   X.#
  ,(
    CASE 
      WHEN 
        EXISTS 
          (
          SELECT ItemCode
          FROM OINV
          INNER JOIN INV1 ON OINV.DocEntry = INV1.DocEntry
          WHERE CardCode = X.CardCode
            AND ItemCode = X.ItemCode
            AND OINV.DocDate < X.[Trans Date]
            AND year(X.[Trans Date]) >= year(getdate()) - 4
          )
        AND
        EXISTS 
          (
          SELECT ItemCode
          FROM ORIN
          INNER JOIN RIN1 ON ORIN.DocEntry = RIN1.DocEntry
          WHERE CardCode = X.CardCode
            AND ItemCode = X.ItemCode
            AND ORIN.DocDate < X.[Trans Date]
            AND year(X.[Trans Date]) >= year(getdate()) - 4
          )
        THEN 'Existing'
      ELSE 'OMP'
      END
    ) AS CustomerType
FROM InvoiceData X
...