我有一个包含字段id
(主键)和fid
. 我想获取id
与特定值匹配的记录,以及具有相同fid
值的所有相关记录。
我可以做这个:
SELECT * FROM mytable
WHERE fid = (SELECT TOP 1 fid FROM mytable WHERE id = 'somevalue')
fid
但如果是特定值(在我的情况下是空的 guid 值),我不想要相关记录。
有没有办法在一条 SQL 语句中做到这一点?我正在使用 SQL Server 2008 R2。
更新:
看到目前为止的答案,我想我可能没有清楚地问我的问题。 id
并且fid
永远不会平等。 LEFT JOIN
可能是我需要的,但我对 SQL 有点无知。我希望的是以下两个查询作为单个语句:
SELECT * FROM mytable WHERE id = 'somevalue'
SELECT * FROM mytable WHERE fid =
(SELECT TOP 1 fid FROM mytable
WHERE id = 'somevalue' AND fid != '00000000-0000-0000-0000-000000000000')