亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

糾結的分割截取

糾結的分割截取

海綿寶寶撒 2018-12-07 10:34:15
查看完整描述

18 回答

?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

@yling: 下面這樣試試呢: select bname,count(1) from (select b.name as bname, a.cid,a.family from b join a where a.family like '%' + b.name + '%') group by bname
查看完整回答
反對 回復 2019-01-21
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

有的 Charindex就是判斷字符出現的位置,沒有返回0
查看完整回答
反對 回復 2019-01-21
?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

同意樓上的,呵呵。不過like可能效率不高,找找有沒有其他的sql函數,來判斷一個字段是否在另一個字段中。我知道在mysql里面,LOCATE的效率比like的高點

查看完整回答
反對 回復 2019-01-21
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

@wang_yb: select b.name as bname, a.cid,a.family from b join a where a.family like '%' + b.name + '%' 這個語句不行啊,我試了,報錯,兩個表沒有關聯字段,所以錯的,應該是。 后面的where那個條件不得行。
查看完整回答
反對 回復 2019-01-21
?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

恩,是可以的,是我的兩個關系搞錯了我是b表name模糊查詢a.famliy字段,所以都為空
查看完整回答
反對 回復 2019-01-21
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

@like%'遠遠'%: 我在sqlite上運行的可以查出數據啊,sqlite上“+”需要換成“||”
查看完整回答
反對 回復 2019-01-21
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

不是的說錯了,select b.name as bname, a.cid,a.family from b join a where a.family like '%' + b.name + '%' 這樣是查不出數據來的,感覺like '%' + b.name + '%' 無效
查看完整回答
反對 回復 2019-01-21
?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

@like%'遠遠'%: 您是什么數據庫,有的數據庫連接字符串的符號不是“+”,是“||”
查看完整回答
反對 回復 2019-01-21
?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

like '%' + b.name + '%' 不行的,我這報錯
查看完整回答
反對 回復 2019-01-21
?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

能不能再把你的要求表達清楚?

查看完整回答
反對 回復 2019-01-21
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

這種方式是不行的,要在另一個表取模糊匹配的字段,但是我這么寫好像也不對啊 select a.cid,a.family,b.name from a join b on a.family like '%' + b.name + '%'
查看完整回答
反對 回復 2019-01-21
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

select count(*) as 父親的個數 from a where?famliy like '%父親%'

其他的個數同理

查看完整回答
反對 回復 2019-01-21
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

只需改變a.cid= 多少,就可以根據a表來動態統計b表中的數據
查看完整回答
反對 回復 2019-01-21
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

已近解決了,lz看下這段代碼行嗎? select [name],(select COUNT(0) from b where [name]=c.[name]) as 'Count' from (select distinct [name] from a join b on a.famliy like '%'+b.name+'%' where a.cid=2) c
查看完整回答
反對 回復 2019-01-21
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

如果你能將上面的 from a where cid=1 轉換成多行的datatable,那么這句話就能實現你所想要的
查看完整回答
反對 回復 2019-01-21
?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

這個問題解決了,那你的問題就解決了 比如a表的cid=1是,你能否將 famliy轉換成多行 或者 like 后面加字段名,但是我試過貌似不行, 這是我寫的 select a.name,(select count(name) from b where name=a.name) as '統計' from a where cid=1
查看完整回答
反對 回復 2019-01-21
?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

建議用C#代碼寫,sql有的難搞,一下僅提供思路:

1.查詢a表的family值,然后分割填充到集合,如:list

2.對list循環,用每個值作為條件去統計B表中的basename

查看完整回答
反對 回復 2019-01-21
?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

不太明白你說的意思

查看完整回答
反對 回復 2019-01-21
  • 18 回答
  • 0 關注
  • 558 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號