最近公司同事碰到需求,實現乙個功能,想用乙個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到現...