SQL語句技巧 複雜邏輯的SQL簡單實現(1)

2022-04-01 04:39:06 字數 1009 閱讀 9802

最近公司同事碰到需求,實現乙個功能,想用乙個sq語句實現,他讓我看看如何實現sql。由於前期做培訓時說到儘量減少和資料庫的互動,能一條sql取出來就不用兩次sql語句:

create

table

[dbo].

[zping.com](

[id][

varchar](

32) 

notnull,[

objid][

varchar](

32) 

notnull,[

objtype][

tinyint

]null,[

config][

varchar](

256)

) 具體要求:

表[zping.com]中存放資料:id為唯一,objid存放是機構id,objtype存放的是機構型別,config欄位存放的是

具體業務資料。

objid存放的可能機構id(總公司,分公司,辦事處,代表處)id,只能乙個,objtype存放的是機構的數字

為(總公司為1,分公司為2,辦事處為3,代表處為4)

資料庫裡的資料可能是4個id的資料都有,也可能都沒有,也可能是只有其中幾個機構

業務要求:前台傳入機構id(總公司,分公司,辦事處,代表處id),只能返回一條資料

要求如果有總公司,取出總公司,如果沒總公司,如果有分公司,取分公司...... 如果都沒有則不取。

最後實現:

select

top1

[config

]from

( select

*from

[selfcustom

]where

objid in(

'66',

'77') )

t order

byobjtype 

asc總結:

這裡主要用到了order by排序功能實現如果有總公司,就去總公司,如果有則去取分公司等。並通過top實現最多取出一條的目的。

sql的技巧語句

資料庫 twt001 資料表 asample 參考文章 分享一些不錯的sql語句 1 複製表 只複製結構,源表名 asample 新錶名 b select into b from asample where 1 1 2 初始化表 truncate table asample 3 列出資料庫所有的表名...

複雜SQL語句提問

table t1 和 table t2 表結構相同,但資料不同 t1 create table t1 id int,tm datetime,data varchar 200 資料 1 2009 11 11 資料1 1 2009 11 12 資料2 2 2009 11 12 資料3 3 2009 11...

sql複雜查詢語句

1.描述 在資料庫中使用sql語句查詢資料,常常需要做報表和統計分析。難免需要做很多的複雜查詢。解決方案 呼叫資料庫的自帶函式 我用的是mysql的函式 來查詢 函式中巢狀函式來實現複雜查詢 2.例項 求差函式 sum 函式巢狀函式查詢 使用timestampdiff函式查詢2002 01 01到現...