<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-94  評論-56  文章-3  trackbacks-0
    最近一直在做一個項目,很久沒來這里寫東西了。項目剛完成第一期,第二期就接踵而至了。在一期中,我發(fā)現(xiàn)自己對SQL文還有不少知識的空白點,比如對于UNION和左連接的使用,下面就這方面做些筆記,與大家共享。
    ■項目中使用的DB是Oracle。
    ■例一,注意UNION的使用。
      ★詳細式樣中的SQL文(部分):
    取得項目
      省略
    選択條件
      請求殘高.今回締日?。健‘嬅妫妇喨铡?br />結(jié)合條件
      得意先.得意先コード?。健≌埱髿埜撸靡庀去畅`ド
      請求殘高.得意先コード = A.得意先コード
      得意先.得意先コード?。健〉靡庀去ⅴ丧螅靡庀去畅`ド
    テーブル
      得意先
      得意先アドオン
      請求殘高
     ?。ㄈ〉庙椖?br />     省略
       選択條件
         売上実績.売上計上日?。尽dd_months(締日
    ,-1)
         売上実績.売上計上日?。迹健【喨?br />   結(jié)合條件
         売上実績アドオン.売上実績管理番號?。健由蠈g績.売上実績管理番號
         その他結(jié)合條件
       テーブル
         売上実績
         売上実績アドオン
         コンボボックスデータ
      UNION
       取得項目
         省略
       選択條件
         入金明細.削除フラグ?。健?/span>
         入金データ.削除フラグ = 

       結(jié)合條件
         入金データ.入金番號 = 入金明細.入金番號
         その他結(jié)合條件
       テーブル
         入金明細
         入金データ
        ?。  
      ★對應(yīng)的SQL文(部分):
    ??1?"SELECT?"
    ??2?+"??M_CUST.CUST_CD,?"
    ??3?+"??M_CUST_A.CUST_A_SELFPSN,?"
    ??4?+"??M_EXCH_RATE_A.EXCH_RATE,?"
    ??5?+"??T_BILL_CUMULATE_W_DDS.CLAIM_LAST,?"
    ??6?+"??A.UN_TYPE,?"
    ??7?+"??A.SALES_DATE,?"
    ??8?+"??A.SLIP_CD,?"
    ??9?+"??A.DDS_TORI_TYP_ALL_U,?"
    ?10?+"??A.DDS_TORI_TYP_ALL_N,?"
    ?11?+"??A.CUST_ODR_NO,?"
    ?12?+"??A.BOUND_CD,?"
    ?13?+"??A.ITEM_NAME_U,?"
    ?14?+"??A.ITEM_NAME_N,?"
    ?15?+"??A.UPDATED_BY,?"
    ?16?+"??A.SALES_QTY,?"
    ?17?+"??A.UNIT_COST_TYP,?"
    ?18?+"??A.SALES_UNIT_PRICE_EXCH_RATES,?"
    ?19?+"??A.SALES_AMOUNT_EXCH_RATES,?"
    ?20?+"??A.SALES_UNIT_PRICE,?"
    ?21?+"??A.SALES_AMOUNT,?"
    ?22?+"??A.DEPO_AMOUNT,?"
    ?23?+"??A.FOREIGN_AMOUNT,?"
    ?24?+"??A.SALES_TYP?"
    ?25?+"FROM?"
    ?26?+"??T_BILL_CUMULATE_W_DDS,?"
    ?27?+"??M_CUST,?"
    ?28?+"??M_CUST_A,?"
    ?29?+"??M_CUR,?"
    ?30?+"??M_EXCH_RATE_A,?"
    ?31?+"??(?"
    ?32?+"????SELECT?"
    ?33?+"??????'1'?AS?UN_TYPE,?"
    ?34?+"??????C.CUST_CD?AS?CUST_CD,?"
    ?35?+"??????C.SALES_DATE?AS?SALES_DATE,?"
    ?36?+"??????C.SLIP_CD?AS?SLIP_CD,?"
    ?37?+"??????C.SALES_SEQ_NO,?"
    ?38?+"??????'',?"
    ?39?+"??????D.VEND_TYP?AS?DDS_TORI_TYP_ALL_U,?"
    ?40?+"??????''?AS?DDS_TORI_TYP_ALL_N,?"
    ?41?+"??????C.CUST_ODR_NO?AS?CUST_ODR_NO,?"
    ?42?+"??????D.BOUND_CD?AS?BOUND_CD,?"
    ?43?+"??????C.ITEM_NAME?AS?ITEM_NAME_U,?"
    ?44?+"??????TO_NUMBER('')?AS?ITEM_NAME_N,?"
    ?45?+"??????C.UPDATED_BY?AS?UPDATED_BY,?"
    ?46?+"??????C.SALES_QTY?AS?SALES_QTY,?"
    ?47?+"??????D.UNIT_COST_TYP?AS?UNIT_COST_TYP,?"
    ?48?+"??????C.SALES_UNIT_PRICE?AS?SALES_UNIT_PRICE_EXCH_RATES,?"
    ?49?+"??????C.SALES_AMOUNT_EXCH_RATES?AS?SALES_AMOUNT_EXCH_RATES,?"
    ?50?+"??????C.SALES_UNIT_PRICE?AS?SALES_UNIT_PRICE,?"
    ?51?+"??????C.SALES_AMOUNT?AS?SALES_AMOUNT,?"
    ?52?+"??????TO_NUMBER('')?AS?DEPO_AMOUNT,?"
    ?53?+"??????TO_NUMBER('')?AS?FOREIGN_AMOUNT,?"
    ?54?+"??????D.SALES_TYP?AS?SALES_TYP?"
    ?55?+"????FROM?"
    ?56?+"??????T_SALES?C,?"
    ?57?+"??????T_SALES_A?D?"
    ?58?+"????WHERE?"
    ?59?+"??????C.SALES_DATE?>?ADD_MONTHS(?,?-?1)?"
    ?60?+"??????AND?C.SALES_DATE?<=???"
    ?61?+"??????AND?D.VEND_TYP?IN?(?"
    ?62?+"????????SELECT?"
    ?63?+"??????????SYS_TYPE_VALUE.VALUE?"
    ?64?+"????????FROM?"
    ?65?+"??????????SYS_TYPE_VALUE?"
    ?66?+"????????WHERE?"
    ?67?+"??????????SYS_TYPE_VALUE.NAME?=?'DDS_TORI_TYP_ALL'?"
    ?68?+"??????)?"
    ?69?+"??????AND?D.UNIT_COST_TYP?IN?(?"
    ?70?+"????????SELECT?"
    ?71?+"??????????SYS_TYPE_VALUE.VALUE?"
    ?72?+"????????FROM?"
    ?73?+"??????????SYS_TYPE_VALUE?"
    ?74?+"????????WHERE?"
    ?75?+"??????????SYS_TYPE_VALUE.NAME?=?'UNIT_COST_TYP'?"
    ?76?+"??????)?"
    ?77?+"??????AND?C.SALES_SEQ_NO?=?D.SALES_SEQ_NO?"
    ?78?+"??UNION?"
    ?79?+"????SELECT?"
    ?80?+"??????'2',?"
    ?81?+"??????G.DEPO_SALES_CD,?"
    ?82?+"??????G.DEPO_DATE,?"
    ?83?+"??????G.DEPO_CTL_NO,?"
    ?84?+"??????TO_NUMBER(''),?"
    ?85?+"??????H.DEPO_DTL_LINE,?"
    ?86?+"??????TO_NUMBER(''),?"
    ?87?+"??????'入金',?"
    ?88?+"??????'',?"
    ?89?+"??????'',?"
    ?90?+"??????'',?"
    ?91?+"??????H.DEPO_CLASS,?"
    ?92?+"??????H.UPDATED_BY,?"
    ?93?+"??????TO_NUMBER(''),?"
    ?94?+"??????TO_NUMBER(''),?"
    ?95?+"??????TO_NUMBER(''),?"
    ?96?+"??????TO_NUMBER(''),?"
    ?97?+"??????TO_NUMBER(''),?"
    ?98?+"??????TO_NUMBER(''),?"
    ?99?+"??????H.DEPO_AMOUNT,?"
    100?+"??????H.FOREIGN_AMOUNT,?"
    101?+"??????''?"
    102?+"????FROM?"
    103?+"??????T_M_DEPOSIT_DDS?G,?"
    104?+"??????T_M_DEPOSIT_M_DDS?H?"
    105?+"????WHERE?"
    106?+"??????G.DEL_FLG?=?'0'?"
    107?+"??????AND?H.DEL_FLG?=?'0'?"
    108?+"??????AND?G.DEPO_DATE?>?ADD_MONTHS(?,?-?1)?"
    109?+"??????AND?G.DEPO_DATE?<=???"
    110?+"??????AND?H.DEPO_CLASS?IN?(?"
    111?+"????????SELECT?"
    112?+"??????????SYS_TYPE_VALUE.VALUE?"
    113?+"????????FROM?"
    114?+"??????????SYS_TYPE_VALUE?"
    115?+"????????WHERE?"
    116?+"??????????SYS_TYPE_VALUE.NAME?=?'DDS_DEPO_CLASS'?"
    117?+"??????)?"
    118?+"??????AND?G.DEPO_CTL_NO?=?H.DEPO_CTL_NO?"
    119?+"??)?A?"
    120?+"WHERE?"
    121?+"??AND?T_BILL_CUMULATE_W_DDS.BILL_CLOSE_DATE?=???"
    122?+"??AND?M_EXCH_RATE_A.CUR_CD?=?M_CUR.CUR_CD?"
    123?+"??AND?TO_CHAR(M_EXCH_RATE_A.EXCH_START_DATE,?'YYYYMM')?=?TO_CHAR(A.SALES_DATE,?'YYYYMM')?"
    124?+"??AND?TO_CHAR(M_EXCH_RATE_A.EXCH_START_DATE,?'DD')?<?TO_CHAR(A.SALES_DATE,?'DD')?"
    125?+"??AND?M_CUST.CUST_CD?=?M_CUST_A.CUST_CD?"
    126?+"??AND?M_CUST.CUST_CD?=?T_BILL_CUMULATE_W_DDS.CUST_CD?"
    127?+"??AND?T_BILL_CUMULATE_W_DDS.CUST_CD?=?A.CUST_CD?"
    128?+"ORDER?BY?"
    129?+"??M_CUST.CUST_CD,?"
    130?+"??A.SALES_DATE,?"
    131?+"??A.SLIP_CD"

    ■例二,注意左連接的使用。
      ★詳細式樣中的SQL文(部分):
    ③畫面入力値をもとに、[支払データ]、[支払データ明細]、[通貨]結(jié)合し、検索する。
    ?[
    支払データ]の検索條件
      [
    支払データ].作成者?。健‘嬅?処理擔(dān)當
      [
    支払データ].削除フラグ?。健?
     畫面から出力済再出力が選択された場合
      [
    支払データ].抽出フラグ?。健。?br /> 畫面から出力済再出力が選択しない場合
      [
    支払データ].抽出フラグ?。健。?br />?[支払データ]、[支払データ明細]の結(jié)合條件
      [
    支払データ].支払番號?。健支払データ明細].支払番號
    ?[
    支払データ]、[通貨]の結(jié)合條件
      [
    支払データ].通貨コード = [通貨].通貨コード
    ?支払區(qū)分取得
      抽出項目:?[
    コンボボックスデータ].表示説明
      テーブル:コンボボックスデータ?。?font color="#ff0000">LEFTJOIN)
      取得條件:
        [
    支払データ明細].支払區(qū)分?。健?span>[コンボボックスデータ].値
        [
    コンボボックスデータ].名稱 = 'DDS_PAY_CLASS'
    ?経費科目取得
      抽出項目:?[
    コンボボックスデータ].表示説明
      テーブル:コンボボックスデータ (LEFTJOIN
      取得條件:
        [
    支払データ明細].経費科目 = [コンボボックスデータ].値
        [
    コンボボックスデータ].名稱 = 'DDS_PAY_MANAGE_ITEM'
      ★對應(yīng)的SQL文(部分):
    ?1??SELECT??
    ?2??????A.PAY_SALES_CD,??
    ?3??????A.PAY_SALES_NAME,??
    ?4??????A.PAY_DATE,??
    ?5??????A.PAY_CTL_NO,??
    ?6??????A.PAY_DEPO_DTL_LINE,??
    ?7??????A.PAY_FSUM_AMOUNT,??
    ?8??????A.PAY_SUM_AMOUNT,??
    ?9??????A.PAY_BILL_DATE,??
    10??????A.PAY_BILL_NO,??
    11??????A.CUR_SYMBOL,??
    12??????A.PAY_DEPO_SUMMARY,??
    13??????B.DISPLAY_NAME,??
    14??????C.DISPLAY_NAME,??
    15??????D.DISPLAY_NAME,??
    16??????E.DISPLAY_NAME???
    17???FROM(??
    18???????SELECT??
    19?????????T_M_PAYMENT_DDS.PAY_SALES_CD?AS?PAY_SALES_CD,??
    20?????????T_M_PAYMENT_DDS.PAY_SALES_NAME?AS?PAY_SALES_NAME,??
    21?????????T_M_PAYMENT_DDS.PAY_DATE?AS?PAY_DATE,??
    22?????????T_M_PAYMENT_DDS.PAY_CTL_NO?AS?PAY_CTL_NO,??
    23?????????T_M_PAYMENT_M_DDS.PAY_DEPO_DTL_LINE?AS?PAY_DEPO_DTL_LINE,??
    24?????????T_M_PAYMENT_M_DDS.PAY_FSUM_AMOUNT?AS?PAY_FSUM_AMOUNT,??
    25?????????T_M_PAYMENT_M_DDS.PAY_SUM_AMOUNT?AS?PAY_SUM_AMOUNT,??
    26?????????T_M_PAYMENT_M_DDS.PAY_BILL_DATE?AS?PAY_BILL_DATE,??
    27?????????T_M_PAYMENT_M_DDS.PAY_BILL_NO?AS?PAY_BILL_NO,??
    28?????????T_M_PAYMENT_M_DDS.PAY_MANAGE_ITEM?AS?PAY_MANAGE_ITEM,??
    29?????????T_M_PAYMENT_M_DDS.PAY_DEPO_SUMMARY?AS?PAY_DEPO_SUMMARY,??
    30?????????T_M_PAYMENT_M_DDS.PAY_CLASS?AS?PAY_CLASS,??
    31?????????T_M_PAYMENT_M_DDS.PAY_BANK_NAME?AS?PAY_BANK_NAME,??
    32?????????T_M_PAYMENT_M_DDS.PAY_ORG_NAME?AS?PAY_ORG_NAME,??
    33?????????M_CUR.CUR_SYMBOL?AS?CUR_SYMBOL??
    34???????FROM??
    35?????????T_M_PAYMENT_DDS,??
    36?????????T_M_PAYMENT_M_DDS,??
    37?????????M_CUR??
    38???????WHERE??
    39?????????T_M_PAYMENT_DDS.PAY_CTL_NO?=?T_M_PAYMENT_M_DDS.PAY_CTL_NO??
    40?????????AND?T_M_PAYMENT_DDS.PAY_CUR_CD?=?M_CUR.CUR_CD??
    41?????????AND?T_M_PAYMENT_DDS.CREATED_BY?=????
    42?????????AND?T_M_PAYMENT_DDS.CREATED_DATE?>=????
    43?????????AND?TO_CHAR(T_M_PAYMENT_DDS.CREATED_DATE,?'YYYY/MM/DD')?<=????
    44?????????AND?T_M_PAYMENT_DDS.DEL_FLG?=?0??
    45?????????AND?T_M_PAYMENT_DDS.PAY_FLG?=?0??
    46?????????AND?T_M_PAYMENT_DDS.SELECT_FLG?=????
    47???????ORDER?BY??
    48?????????T_M_PAYMENT_DDS.PAY_CTL_NO,??
    49?????????T_M_PAYMENT_M_DDS.PAY_DEPO_DTL_LINE??
    50?????)?A?LEFT?JOIN(??
    51???????SELECT??
    52?????????SYS_TYPE_VALUE.DISPLAY_NAME?AS?DISPLAY_NAME,??
    53?????????SYS_TYPE_VALUE.VALUE?AS?VALUE??
    54???????FROM??
    55?????????SYS_TYPE_VALUE??
    56???????WHERE??
    57?????????SYS_TYPE_VALUE.NAME?=?'DDS_PAY_CLASS'??
    58?????)?B?ON?A.PAY_CLASS?=?B.VALUE?LEFT?JOIN(??
    59???????SELECT??
    60?????????SYS_TYPE_VALUE.DISPLAY_NAME?AS?DISPLAY_NAME,??
    61?????????SYS_TYPE_VALUE.VALUE?AS?VALUE??
    62???????FROM??
    63?????????SYS_TYPE_VALUE??
    64???????WHERE??
    65?????????SYS_TYPE_VALUE.NAME?=?'DDS_PAY_MANAGE_ITEM'??
    66?????)?C?ON?A.PAY_MANAGE_ITEM?=?C.VALUE?LEFT?JOIN(??
    67???????SELECT??
    68?????????SYS_TYPE_VALUE.DISPLAY_NAME?AS?DISPLAY_NAME,??
    69?????????SYS_TYPE_VALUE.VALUE?AS?VALUE??
    70???????FROM??
    71?????????SYS_TYPE_VALUE??
    72???????WHERE??
    73?????????SYS_TYPE_VALUE.NAME?=?'DDS_PAY_BANK_NAME'??
    74?????)?D?ON?A.PAY_BANK_NAME?=?D.VALUE?LEFT?JOIN(??
    75???????SELECT??
    76?????????SYS_TYPE_VALUE.DISPLAY_NAME?AS?DISPLAY_NAME,??
    77?????????SYS_TYPE_VALUE.VALUE?AS?VALUE??
    78???????FROM??
    79?????????SYS_TYPE_VALUE??
    80???????WHERE??
    81?????????SYS_TYPE_VALUE.NAME?=?'DDS_PAY_ORG_NAME'??
    82?????)?E?ON?A.PAY_ORG_NAME?=?E.VALUE?
    posted on 2006-12-18 11:44 小言身寸 閱讀(882) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫/SQL語言
    主站蜘蛛池模板: 久久久青草青青国产亚洲免观 | 91视频精品全国免费观看| 亚洲午夜电影在线观看高清| 亚洲无码日韩精品第一页| 成全视频在线观看免费高清动漫视频下载| 9久久免费国产精品特黄| 亚洲精品无码人妻无码| 亚洲视频网站在线观看| 成人午夜亚洲精品无码网站| 国产公开免费人成视频| 我们的2018在线观看免费高清 | 亚洲人成电影网站国产精品| 成人毛片免费在线观看| 3d成人免费动漫在线观看| 91福利免费网站在线观看| 亚洲AV无码成人精品区日韩| 亚洲av无码不卡久久| 亚洲黄色在线观看| 久久久亚洲欧洲日产国码农村| 久久精品国产精品亚洲| 免费人成网站在线高清| 日韩在线看片免费人成视频播放| 一区二区无码免费视频网站| 黄色网址免费观看| 免费视频成人片在线观看| 男女作爱在线播放免费网站| 精品亚洲aⅴ在线观看| 亚洲精品成人片在线观看精品字幕 | 精品国产免费观看久久久| 永久免费的网站在线观看| 亚洲精品免费网站| 91手机看片国产永久免费| 国产精品免费精品自在线观看| 91视频免费网址| 久久久久久夜精品精品免费啦| 无码人妻一区二区三区免费看 | 亚洲国产综合无码一区| 亚洲乱码国产一区三区| 亚洲高清国产AV拍精品青青草原| 久久精品国产精品亚洲精品| 亚洲va久久久噜噜噜久久 |