首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Visual查询生成器过滤数据

使用Visual查询生成器过滤数据
EN

Stack Overflow用户
提问于 2014-06-18 08:08:24
回答 1查看 1.9K关注 0票数 0

目前,我在MS中创建了两个表(postings表和user表),并将其输出到visual 2012的网格视图和详细信息视图中。我试图找出一种方法,以确保当details视图被分页到某个用户(只有两个用户)时,该用户过去发布的唯一帖子将显示在gridview中。

postings表有一个ID (主键),它分为两部分,第一部分是该海报的唯一标识符,第二部分是该帖子的唯一标识符。对于Poster1有ID的45678987654_98765456789,45678987654_234565432123,45678987654_999999999等,而海报2有id 98765678987_987654866,98765678987_2828288282,98765678987_1111111111,总共有700个条目。

在用户表中也有一个唯一的ID,这对于那个海报来说也是一样的。Poster1有id 45678987654_98765456789,Poster2有98765678987_987654866。我试图在visual studio by =中筛选查询生成器,比如%,并包含这些内容,因为理论上,如果对POST和USER的ID的第一个数字进行了分析和比较,那么就可以实现这些规范。因为details视图中的当前ID可以与所有的gridview ID进行比较,并且只有那些相似并且共享前15位左右的ID才会被接受到details视图中。

但是,我在查询生成器中尝试使用Post_Id = table_Id或like/contains格式的所有方法都不起作用。如果有另一种方法来做到这一点,或者对当前的方法进行了轻微的修改,那么这将是一个很好的消息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-18 09:06:08

您需要做的第一件事是更改first表。如果您将两个值连接起来以使PK,则将其拆分为两列,第一列包含userId,第二列为您生成的帖子的唯一id。

完成此操作后,将PK设置为两者的组合,并告诉db,PK中的userId是引用User表的PK的FK。

一旦完成,数据将采用VS可能更好理解的格式,而且数据库设计肯定会得到改进。

编辑

创建FK的SQL代码:

代码语言:javascript
复制
ALTER TABLE postings  WITH CHECK ADD  CONSTRAINT [FK_postings_user] FOREIGN KEY([userId])
REFERENCES user ([userId])
GO

ALTER TABLE postings CHECK CONSTRAINT [FK_postings_user]
GO

如果postings.UserId中的值在user.UserId中没有匹配值,那么这将失败。若要进行检查,请运行以下命令:

在u.UserId = p.UserId上选择*从帖子p左向外连接用户u,其中u.UserId为null

这将给出没有匹配的用户行的投递行列表--在这些行中,您的数据转换可能有问题?或者已经有“孤儿”数据了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24280250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档