Re: [SQL ] 請問這個查詢的語法該怎麼下?(Sql Server)

看板Database作者 (多想兩分鐘 = =")時間16年前 (2008/05/08 20:06), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/6 (看更多)
※ 引述《adrianshum (Alien)》之銘言: : ※ 引述《adrianshum (Alien)》之銘言: : : select p1.name from people_lan p1, people_lan p2 : : where p1.name=p2.name and p1.language = '中文' and p2.language='英文' : : alien : : -- : : ◆ From: 202.155.236.82 : : 推 grence:3.4.5...種語言怎麼辦?要有彈性怎麼辦?一直卡到類似問題 05/02 19:44 : 你所謂的彈性是怎樣? : 在不修改 SQL 的情況下是不可能達到 '不定數量語言'. 我的問題大概就是這樣。具體點的例子嘛…人力銀行好了: A 徵才企業想找同時會說中語、台語的 B 企業想找同時會說中語、日語、英語的 C .... 語言數目跟種類都不定 : 要是你已預計要用程式 dynamic generate SQL, 那何不 : 乾脆拿相關 record 出來然後用 program count? : 之前有人提過用bitwise operation 但我想很多 DB 都沒有 : 這類功能... 最直覺就想到這種方法,像chmod 777, 1.read, 2.write, 4.execute ... 查表嘛,習慣關聯式資料表就只會想到查表XD SqlServer好像沒有,自己寫了一個拆解的function table...現在不在手上XD 就只是寫遞迴去扣而已 : anyway, 還是有比較簡單一點的修改 SQL 的方法 (能support : subquery的情況下) : select name from ( : select name, count(name) c from people_lan where : language in (?,?,?......) group by name) : where c = ? : 修改的是 in 裡面的 list, 和最後 c 的 variable : 比如要找五個 lang 的人, 就 in 那種 language, 然後 : c = 5 : 這樣就又能維持正常 schema, 又能以少量 SQL 改動達到你的要求 感謝,這概念很容易處理,看完就想好怎麼湊了, 沒有往這方面想過,一直想在DB裡解決… 用程式湊 SQL第一個想到的是一堆子查詢.... select name, lang from( select name, lang from( select name, lang from table where lang=aaa)x where lang=bbb )y where lang=ccc UPDATE:↑其實這樣是錯的XD ....怎麼看都不會快XDDD,所以放棄的很快XD : alien -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.198.97 ※ 編輯: grence 來自: 61.229.198.97 (05/08 20:09) ※ 編輯: grence 來自: 61.229.198.97 (05/09 00:51)
文章代碼(AID): #188kpXwa (Database)
討論串 (同標題文章)
文章代碼(AID): #188kpXwa (Database)