:::: 개발 ::::/::: MSSQL :::

간단 JOIN 개념잡기

nayha 2009. 12. 28. 14:13

SELECT TOP 5 a.SEQ,a.CATEGORY_CD,a.TITLE,a.VIEW_CNT  --상위 5개 가져올 컬럼들만 선택 ex) table_name.column_name

 

  FROM CM_FAQ_TB AS a  INNER JOIN  CC_FAQ_CATEGORY_TB AS p  -- 가져올 테이블 & 조인 할 테이블

  ON p.CATEGORY_CD = a.CATEGORY_CD   --두 테이블중 조건 컬럼이 같은 녀석들 만 뽑아내는것

 

WHERE p.category_cd = 2 and p.member_type_cd = 1  -- 조건

 

 

*** 이걸 SP로  ***  아구 골이야

 

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

/*************************************************************************************
 *  단위 업무 명 :  FAQ_LIST
 *  작   성   자 : 홍 성인
 *  작   성   일 : 2008/05/27
 *  수   정   자 :
 *  수   정   일 :
 *  설        명 :
 *  주 의  사 항 :
 *  사 용  소 스 : http://test.gangsa.com/customer/Faq.asp
EXEC GET_F_CM_FAQ_LIST_PROC '1' ,'15','2','1','1'
 *************************************************************************************/

ALTER              PROCEDURE DBO.GET_F_CM_FAQ_LIST_PROC
   @PAGE  INT
         ,@PAGESIZE  INT
         ,@Gubun  CHAR(1)
         ,@Cate  VARCHAR(2)
  ,@ROWCOUNT     INT OUTPUT


AS
BEGIN
SET NOCOUNT ON

        DECLARE @SQL_MAIN2 NVARCHAR(4000)
 
     SELECT @ROWCOUNT = COUNT(a.SEQ)
                 FROM CM_FAQ_TB AS a INNER JOIN 
        CC_FAQ_CATEGORY_TB AS p
                                 ON p.CATEGORY_CD = a.CATEGORY_CD
         WHERE  p.MEMBER_TYPE_CD = '' + @Gubun + ''
    AND  p.CATEGORY_CD = '' + @Cate + ''

   
    SET @SQL_MAIN2 = 'SELECT  TOP ' + CONVERT(VARCHAR(10),@PAGE * @PAGESIZE) + '
     a.SEQ
          ,a.CATEGORY_CD
                               ,a.TITLE
                               ,a.VIEW_CNT
          ,a.CONTENT
          FROM CM_FAQ_TB AS a INNER JOIN 
        CC_FAQ_CATEGORY_TB AS p
                                 ON p.CATEGORY_CD = a.CATEGORY_CD
         WHERE  p.MEMBER_TYPE_CD = ''' + @Gubun + '''
    AND  p.CATEGORY_CD = ''' + @Cate + '''
         ORDER  BY SEQ DESC ' 
  EXECUTE SP_EXECUTESQL @SQL_MAIN2

 

END

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

 

반응형