使用重复条目MYSQL简化表

时间:2014-11-13 18:28:27

标签: mysql union rows

我已经创建了一个表作为两个SELECT语句的联合,比如说FRIENDS_AND_NEIGHBORS,我想删除两者的重复,除了它们在所有字段中不重合。

简化我的情况,我有一个名为FRIENDS的表(具有成对的用户及其链接ID)和一个包含ZIP_CODE的USER表,我从中获取了NEIGHBORS部分。我还在修改一个名为USER_ID = @usrZIP_CODE = @zip的参考用户。然后我做了以下几点。

CREATE TABLE FRIENDS_AND_NEIGHBORS
(SELECT 
    USER_ID   AS FRND_ID,    # Choose neighbors by zipcode. 
    ZIP_CODE  AS FRND_ZIP,   # 
    0         AS FRND_LINK   # The reference for friendship comes later.
FROM USER
WHERE ZIP_CODE = @zip)
UNION
(SELECT
    frd.FRIEND_ID AS FRND_ID, 
    usr.ZIP_CODE  AS FRND_ZIP, 
    frd.LINK      AS FRND_LINK
FROM FRIENDS frd
JOIN USER usr
  ON frd.FRIEND_ID = usr.USER_ID
WHERE frd.USER_ID = @usr);

然后我可能会计算一些邻居/朋友两次,但他们仍然在FRND_LINK中有所不同  我把它给了零,因为我无法加入这两个 当它被计为朋友时,我想删除具有0的相应邻居行。

感谢您的帮助。

0 个答案:

没有答案