最近修改商戶後台的bug,把資料庫相關的技術學習了一遍,俺的終極目標是自己編乙個小型的資料庫,廢話說多了~。~
直接上**
case
when ns_plat_res_code.is_custom_reason = '1'
and ns_bill_biz_******.msg_sts = '03'
and ns_bill_biz_******.pmt_tp = '06'
andns_merchant_info.merchant_type = '1'
andns_channel_notice.notice_sts != '23'
then
'04'
else ns_bill_biz_******.msg_sts
end msgsts
翻譯下就是:當 商戶原因欄位為1 且 交易狀態為03 且 支付型別是06 且 商戶型別是1時,將msgsts設為04;否則msgsts不變
這裡只說下leftjoin,其他的可以參考此**猛擊此鏈結
left join 關鍵字從左表(table1)返回所有的行,即使右表(table2)中沒有匹配。如果右表中沒有匹配,則結果為 null。
本質是將原有兩個表的相應字段,組成乙個新錶,對該臨時表做操作。比如:select語句可以從新錶中取出需要的資料。
left join ns_para_bank ns_para_bank on ns_bill_biz_******.cdtr_issr_cd = ns_para_bank.bank_id
這句意思是將左表(ns_para_bank)全部返回,如果右表(ns_bill_biz_******)中的cdtr_issr_cd欄位等於左表(ns_para_bank)的bank_id欄位,則將cdtr_issr_cd字段值返回,否則將cdtr_issr_cd欄位賦值為null,並返回。
--------------------------------------------
表a記錄如下:
aid anum
1 a20050111
2 a20050112
3 a20050113
表b記錄如下:
bid bname
1 2006032401
2 2006032402
4 2006032404
--------------------------------------------
1.left join
sql語句如下:
select * from a
left join b
on a.aid = b.bid
結果如下:
aid anum bid bname
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 null null
(注意:新錶是沒有aid=4的)
重新了解資料庫 聯表查詢和自連線
聯表查詢分為inner join left join right join left join左連線 以左表為主。結果會將左表所有的查詢資訊列出,而右表只列出on後條件與左表滿足的部分。right join左連線 以右表為主。結果會將右表所有的查詢資訊列出,而左表只列出on後條件與右表滿足的部分。查...
關聯表查詢資料庫
1.呼叫方法 this getrelationlist m map,bd prefix.deal as d left join db prefix.user as u on d.user id u.id d.u.site id d.id map指的是查詢條件陣列 2.實現函式 protected f...
mysql查詢資料庫表
使用sql語句查詢mysql指定表字段。可以方便整理資料庫表的說明文件。我在工作中整理了部分sql作為記錄。可以用在以後的mysql文件匯出工具裡。以下為具體內容 使用sql查詢指定資料庫表名和表說明。select table name as tablename,table comment as c...