--
상품가격목록
SELECT
G.go_goodscode, Gos.gos_salecost, ISNULL(Gcc.gos_discountcost, 0) AS gos_discountcost
FROM Goods_TB
G
JOIN GoodsCost_TB
Gos ON Gos.go_goodscode = G.go_goodscode
LEFT JOIN GoodsCostChange_TB Gcc
ON Gcc.go_goodscode = G.go_goodscode AND CONVERT(VARCHAR(10),GETDATE(),120) BETWEEN gcc_startdate AND gcc_enddate
WHERE go_webview
= 'Y'
--
상품상세화면
SELECT
G.go_goodscode, Gos.gos_salecost, ISNULL(Gcc.gos_discountcost, 0) AS gos_discountcost
FROM Goods_TB
G
JOIN GoodsCost_TB
Gos ON Gos.go_goodscode = G.go_goodscode
LEFT JOIN GoodsCostChange_TB Gcc
ON Gcc.go_goodscode = G.go_goodscode AND CONVERT(VARCHAR(10),GETDATE(),120) BETWEEN gcc_startdate AND gcc_enddate
WHERE G.go_goodscode = @goodscode
테이블명
Goods_TB : 상품메인
GoodsCost_TB : 상품가격
GoodsCostChagne_TB : 상품가격변경 로그(가격변경, 할인행사)
위의 내용을 보시면 GoodsCostChange_TB 의 해당날짜를 불러와 할인행사가 진행중인 상품이 있으면 할인가를 화면에 출력 해 줍니다.
문제는 프로그램을 수정할 때 위와같이 ISNULL(Gcc.gos_discountcost, 0) 이런 쿼리문이 몇개의 프로시져로 되어 있는데,
특정페이지에 GoodsCostChage_TB 쿼리문을 만들고 여러 곳에 적용할 수 있는 방법이 없을까 해서요..
Ex) 사용자정의함수를 만들면 될 것 같은데, 조인을 어떤식으로 하는지?
Comment 1
-
처리짱
2014.11.11 10:43
dbo.GoodsCostChage_TB(ISNULL(Gcc.gos_discountcost, 0) ) 이런식으로 프로시져를 고치면 되는게 아닌지요?