我有一个消息表,该消息表既有to_id
也有from_id
给定的消息。返回ID,其中两个字段中的一个匹配值,但只有该字段以外的字段
我想通过一个user_id到这个查询,并让它返回一个非重复的id列表,代表任何用户的消息来自提供的user_id。
我现在所拥有的是(使用12作为目标USER_ID):
SELECT from_id, to_id
FROM messages
WHERE
from_id = 12
OR
to_id = 12
这不会返回这里是USER_ID存在的所有记录,但我不知道如何让它只返回非重复,并且只有一个字段将是不是12的user_id。
简而言之,它将返回用户12具有现有消息记录的任何用户的ID。
我希望我已经解释得很清楚了,我必须相信我还没有学到相对简单。
编辑:
我应该规定,虽然我目前的SQL有两个领域,我想返回只有一个字段--- CONTACT_ID。并且不应该有重复。
CONTACT_ID不是在消息表中的字段,但是这是字段名,我想查询返回,而不管其是否返回from_id或to_id
此查询似乎总是返回from_id,在某些情况下,它是12.我希望它只返回一个名为contact_id的字段。 – prototypical
您是否确实有任何符合第二个查询条件的数据,即:'where from_id = 12'? – canon
是的,但我看到的问题是,有些消息是从相同的ID发送的。所以我需要处理。 – prototypical