我有一段视图的代码不太清楚,请各位高手帮忙解释一下。

ywcannon 2004-09-22 08:41:37
视图的代码如下:

SELECT DISTINCT c.ID, c.Name, c.Note
FROM dbo.Road c INNER JOIN
dbo.Road d ON c.Name <> d.Name
WHERE (c.Name LIKE '%' + d.Name + '%')

哪位高手能告诉我上面这段代码到底是要把什么记录给筛选出来啊,谢了先!!!
...全文
78 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ywcannon 2004-09-22
to outwindows(窗外):
如果我有两条记录Name名分别是“和平南路”、“和平北路”,那请问这两条记录是不是应该会被选出来啊?
  • 打赏
  • 举报
回复
ywcannon 2004-09-22
楼上的蝈蝈,好像不是你讲的这样,如果是选出不重复的记录,只要用一个distinct就够了,为什么还要用左连接和like条件呢?况且我试过了,有些在数据表中并没有重复的记录也没有被选中,这又是什么原因呢?
  • 打赏
  • 举报
回复
Andy__Huang 2004-09-22
on c.Name <> d.Name
WHERE (c.Name LIKE '%' + d.Name + '%')

你的這段代碼有問題﹐是對同一傅操作的﹐已經不相等了﹐但是還有 like

我覺得應該這樣改就夠了
SELECT DISTINCT c.ID, c.Name, c.Note FROM dbo.Road
  • 打赏
  • 举报
回复
outwindows 2004-09-22
把dbo.Road 表中 Name字段有相似值的选出来:
e.g: Name
你好
你好啊
  • 打赏
  • 举报
回复
Andy__Huang 2004-09-22
DISTINCT的作用重復記錄只選一條
INNER JOIN 是內部連接
LIKE 模湖查詢

整句話是從dbo.Road表中選擇出不重復的記錄





  • 打赏
  • 举报
回复
发帖
应用实例

2.7w+

社区成员

MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
帖子事件
创建了帖子
2004-09-22 08:41
社区公告
暂无公告