【发布时间】:2016-07-18 15:25:22
【问题描述】:
我是 SQL 新手,正在尝试使用联接获取数据。不知道我做错了什么。我有两张桌子。
表record
recordID|activityName|userID
1 | sale | 5
2 | call | 5
3 | contact | 5
表activity
activityID|activityData|userID
1 | 50 | 5
2 | 70 | 5
3 | xyz | 5
结果应该是
recordID|activityName|activityData|userID
1 | sale | 50 | 5
2 | call | 70 | 5
3 | contact | xyz | 5
但它会返回
recordID|activityName|activityData|userID
1 | sale | 50 | 5
2 | call | 70 | 5
3 | contact | xyz | 5
1 | sale | 50 | 5
2 | call | 70 | 5
3 | contact | xyz | 5
1 | sale | 50 | 5
2 | call | 70 | 5
3 | contact | xyz | 5
SELECT * FROM tblrecord tr, tblactivity ta WHERE tr.userID = ta.userID AND tr.userID = '5'
为什么会重复这个结果。
PS。 userID 是唯一的公共字段,activityID 和recordID 可以不同。
【问题讨论】:
-
您要求获取与
userId=5对应的所有活动和记录组合在。如果这不是您需要的,那么您必须告诉我们您确实需要什么,我们可以告诉您查询错误的原因。 -
我只想显示两个表的数据而不重复