我有一个表“TBL”它看起来像这样:选择第一个匹配行
prod | cust | qty
p1 | c1 | 5
p1 | c2 | 10
p2 | c1 | 2
p3 | c2 | 8
我需要的是产品和客户对独特的列表,但只有第一个客户,如果产品销售到不止一个客户。为了词的结果需要是这样的:
prod | cust
p1 | c1
p2 | c1
p3 | c2
我已经试过这其中每一个我能想到的办法,但我不能完全得到正确的结果。很明显,既不区分也不分群,因为它们都会返回p1,c2行。
我发现这个question这是一个非常接近的比赛,但我无法弄清楚如何重新写来得到它做什么,我需要。
最糟糕的是这一切的当前需要在Access 2007或更高版本的工作,但在未来的某个时刻,它会需要在MySQL中正常工作。
额外信用的人谁也加入结果给客户表,这样我可以从客户代码查找人类可读的名字,例如: c1 => Fred Bloggs扳手
你如何定义“第一个客户”?是否有一个日期字段明确表明你没有显示? – 2012-02-29 18:53:21
我定义“第一个”是查询返回的任何一个 - 我会很高兴与p1,c1或p1,c2被返回我无法应付两个被返回(因为产品代码正在使用另一个连接,我不想重复)。表tbl中没有其他有用的字段。 – wobblycogs 2012-02-29 19:01:12
好的,我在发布答案后阅读此评论 - 这没有意义 - 您希望“第一”客户,但实际上并不关心“第一”客户是谁或他们如何确定?我没有写出你的要求,但是你真的很想随机抽取结果吗?!? – 2012-02-29 19:25:45