hur.cn - 华软网

 热门搜索

求SQL语句,肯请各位看官挺力相助:)

  作者:未知    来源:网络    更新时间:2017/9/29
新闻数据表(News),其范例结构与数据为:

记录ID  新闻标题  新闻关键字  新闻内容
1       新闻1     A,B         新闻内容1
2       新闻2     B,C         新闻内容2
3       新闻3     C,D         新闻内容3

此时有一则新闻内容为“AD”,列出与其相关的其它新闻记录(即查询该新闻内容中含有与之对应的“新闻关键字”的记录,注:“新闻关键字”中的数据是组合项,应分离后再进行判断)

故 记录ID为1 的 新闻关键字为:A,C(A与B)  ,其中A在新闻内容"AD"中,则该条数据为符合查询关键字数据

记录ID为2 的 新闻关键字为 B,C(B与C) ,应B与C均不在新闻内容“AD”中,则该条数据不符合查询关键字数据

以此类推,故用某条SQL语句列出结果记录应为:

记录ID  新闻标题  新闻关键字  新闻内容

1       新闻1     A,B         新闻内容1
3       新闻3     C,D         新闻内容3

求该条SQL语句!在线等待!谢谢!如解决,定重分酬谢!


------华软网友回答------
此时有一则新闻内容为“AD”,
他的“新闻关键字”是什么?
------华软网友回复------
这个用一条SQL语句好像不能够实现。你可以用循环来处理阿。你是要结果显示在数据窗口中吗?
如果是要显示在数据窗口中你可以在定义设计数据窗口的时候设定检索参数:
 新闻关键字 like '%'+:ls_gjz+'%'

然后用循环检索出所有符合条件的记录
string ls_gjz ,ls_text
integer li_loop

ls_gjz='ad'

for li_loop=1 to len(ls_gjz)
    ls_text=mid(ls_gjz,li_loop,1)
    dw_1.retrieve(ls_text)
next

在dw_1的RetrieveStart事件里写语句:return 2

------华软网友回复------
我也学习一下哦!帮顶!
------华软网友回复------
首先,直到新闻内容,如何知道关键字。xxxAxxDxxx,A&D是关键字,
select * from news where 新闻内容 like '%AT' and 新闻内容 like '%D%';
------华软网友回复------
修改一下楼上的,
select distinct 记录ID,新闻标题,新闻关键字,新闻内容
from news
where 新闻关键字 like '%A%' or 新闻关键字 like '%D%';
------华软网友回复------
楼主在找最优方案么?

CSDN上的数据库版块都是你的帖子:),在PB中实现是很简单的

可根据你的关键字内容(长度不定)动态设置SQL 语句

然后setsqlselect
------华软网友回复------
搂主可以写个函数阿,然后在函数里写个循环,拼sql语句,就是将传进来的参数(比如AD)按长度从1到len('AD')循环,每个字都拼上 关键字 like '%'+A+'%' or 就差不多了      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。