麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > SQL Server > 正文

如何利用SQL進行推理

2024-08-31 01:03:03
字體:
來源:轉載
供稿:網友

數據庫環(huán)境:SQL SERVER 2008R2

有如下需求:
Baker, Cooper, Fletcher, Miller and Smith住在一座房子的不同樓層。
Baker 不住頂層。Cooper不住底層。
Fletcher 既不住頂層也不住底層。Miller住得比Cooper高。
Smith住的樓層和Fletcher不相鄰。
Fletcher住的樓層和Cooper不相鄰。
用SQL寫出來
 
解題思路:
先實現所有人住樓層的排列組合,然后把條件套進去即求得。如何實現排列組合,
 
1.基礎數據準備
--準備基礎數據,用A、B、C、D、E分別表示Baker, Cooper, Fletcher, Miller and Smith

 

CREATE TABLE ttb ( subname VARCHAR(1) , realname VARCHAR(10) )INSERT INTO ttbVALUES ( 'A', 'Baker' ), ( 'B', 'Cooper' ), ( 'C', 'Fletcher' ), ( 'D', 'Miller' ), ( 'E', 'Smith' )

2.生成所有可能情況的排列組合
--生成A、B、C、D、E所有的排列組合

 

WITH x0AS ( SELECT CONVERT(VARCHAR(10), 'A') AS hidUNION ALLSELECT CONVERT(VARCHAR(10), 'B') AS hidUNION ALLSELECT CONVERT(VARCHAR(10), 'C') AS hidUNION ALLSELECT CONVERT(VARCHAR(10), 'D') AS hidUNION ALLSELECT CONVERT(VARCHAR(10), 'E') AS hid), x1AS ( SELECT hidFROM x0WHERE LEN(hid) <= 5UNION ALLSELECT CONVERT(VARCHAR(10), a.hid + b.hid) AS hidFROM x0 aINNER JOIN x1 b ON CHARINDEX(a.hid, b.hid, 1) = 0) SELECT hid AS name INTO #tt FROM x1 WHERE LEN(hid) = 5 ORDER BY hid

3.加入條件,找出滿足要求的樓層安排

 

WITH x2AS ( SELECT nameFROM #ttWHERE SUBSTRING(name, 5, 1) <> 'A'--Baker 不住頂層AND SUBSTRING(name, 1, 1) <> 'B'--Cooper不住底層AND ( SUBSTRING(name, 1, 1) <> 'C'AND SUBSTRING(name, 5, 1) <> 'C'--Fletcher 既不住頂層也不住底層)AND name LIKE '%B%D%'--Miller住得比Cooper高AND name NOT LIKE '%CE%' AND name NOT LIKE '%EC%' --Smith住的樓層和Fletcher不相鄰AND name NOT LIKE '%BC%' AND name NOT LIKE '%CB%' --Fletcher住的樓層和Cooper不相鄰), x3--生成樓層號AS ( SELECT number AS id ,SUBSTRING(x2.name, number, 1) AS nameFROM master.dbo.spt_valuesINNER JOIN x2 ON 1 = 1WHERE type = 'P'AND number <= 5AND number >= 1) SELECT a.id AS 樓層,b.realname AS 姓名 FROM x3 aINNER JOIN ttb b ON b.subname = a.name ORDER BY id

樓層安排如下:

如何利用SQL進行推理

通過以上的代碼的介紹,希望對大家的學習有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲一区二区免费视频 | 日韩视频精品一区 | 亚洲一二区视频 | 在线播放免费人成毛片乱码 | 欧美黄色性生活视频 | av性色全交蜜桃成熟时 | 在线观看一二三 | 午夜视频在线观看免费视频 | 国产精品视频在线观看免费 | 性aaa| 成年免费视频黄网站在线观看 | 久久久久久久久久久久久久av | 成人午夜免费看 | 国产精品久久久久久久久久久久午夜 | 欧美成人小视频 | 在线视频观看一区二区 | 成人在线免费视频观看 | 日日噜噜噜夜夜狠狠久久蜜桃 | 亚洲国产精品二区 | 美女视频免费一区二区 | 97香蕉超级碰碰久久免费软件 | 最新影院 | 中文字幕精品在线播放 | 少妇一级淫片免费放正片 | 久久69精品久久久久久国产越南 | 色综合久久99 | 日本欧美一区 | 久久亚洲视频网 | 亚洲视频成人在线 | h视频免费在线观看 | 2021狠狠操| 国产精品色综合 | 国产三级在线视频观看 | 91性高湖久久久久久久久网站 | 国产精品视频在线观看免费 | 国产精品91在线 | xnxx 日本19| 国产亚洲精品综合一区91555 | 亚洲精品午夜在线 | 鲁丝一区二区二区四区 | 久久精品在线免费观看 |