sql中 如何判断一个字符串是否包含另外一个字符串
现在有2个表表A字段AIDname1啊哦额就好2日体育查询3新成程序我表B字段BIDname001查体002好哦003程序新004新程序现在需要获得A.name字段包含B...
现在有2个表
表A
字段 AID name
1 啊哦额就好
2 日体育查询
3 新成程序我
表B
字段 BID name
001 查体
002 好哦
003 程序新
004 新程序
现在需要获得A.name字段包含B.name的AID与BID
最终结果图:
AID BID
1 002
2 001
3 003
3 004
请问这样需要怎么实现? 展开
表A
字段 AID name
1 啊哦额就好
2 日体育查询
3 新成程序我
表B
字段 BID name
001 查体
002 好哦
003 程序新
004 新程序
现在需要获得A.name字段包含B.name的AID与BID
最终结果图:
AID BID
1 002
2 001
3 003
3 004
请问这样需要怎么实现? 展开
2个回答
展开全部
思路是,读取B.name字符串后进行字符串的的分割 name.,然后最后执行模糊查询A表,可以这样
WHERE (A.nameLIKE '%查%') AND (A.nameLIKE '%体%')
只能说完全用sql语句实现,有点难吧!
string name = "查体";
char[] NameChar = name.ToArray();
string SqlStr = "select * from A ";
for (int i = 0; i < NameChar.Count(); i++)
{
if (i == 0)
{
SqlStr += "where A.name LIKE'%" + NameChar[0] + "%'";
}
else
{
SqlStr += " and A.name LIKE'%" + NameChar[i] + "%'";
}
}
可以告诉你,没有关联查一个表还行,两个表都来不太可能。 而且你对关联查询理解有误!多看下概念。
WHERE (A.nameLIKE '%查%') AND (A.nameLIKE '%体%')
只能说完全用sql语句实现,有点难吧!
string name = "查体";
char[] NameChar = name.ToArray();
string SqlStr = "select * from A ";
for (int i = 0; i < NameChar.Count(); i++)
{
if (i == 0)
{
SqlStr += "where A.name LIKE'%" + NameChar[0] + "%'";
}
else
{
SqlStr += " and A.name LIKE'%" + NameChar[i] + "%'";
}
}
可以告诉你,没有关联查一个表还行,两个表都来不太可能。 而且你对关联查询理解有误!多看下概念。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询