简体   繁体   English

ms访问2003随机记录内连接

[英]ms access 2003 random record within join

I am trying to get a random record from a join, but I cannot get it to work?我正在尝试从连接中获取随机记录,但我无法让它工作? Any ideas.有任何想法吗。 It's using Microsoft Access 2003.它使用 Microsoft Access 2003。

table = members
===============
memberID int
name varchar

table = testimonials
====================
testimonialID int
memberID int
content memo

select m.*, (SELECT t.content from testimonials t where t.memberID=m.memberID ORDER BY rnd(t.testimonialID)) as testimonialtext
FROM members m;

I basically need each member record and one random testimonial for that member.我基本上需要每个成员记录和该成员的随机推荐。 I should also add that I've tried it within a join too...我还应该补充一点,我也在一个连接中尝试过......

select m.*, t.content FROM members m
INNER JOIN testimonials t ON m.memberID=t.memberID
ORDER BY rnd(t.testimonialID)

Thanks for any help.谢谢你的帮助。

try to limit with TOP clause尝试使用 TOP 子句进行限制

select m.*, (SELECT top 1 t.content from testimonials t where t.memberID=m.memberID ORDER BY rnd(t.testimonialID)) as testimonialtext
FROM members m;

ok, then we can do something like:好的,那么我们可以执行以下操作:

select 
  m.*, 
  t3.content
FROM 
  members m, 
   (select 
      top 1 t.testimonialID, 
    from 
      testimonials t 
    where 
      t.memberID=m.memberID 
    order by 
      rnd(t.testimonialID)
    ) t2,
   testimonials t3 
where
  t3.testimonialID = t2.testimonialID;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM