2

重複している可能性がありますが、この場合の洞察は提供されていません: マルチパート識別子をバインドできませんでした

次の形式のクエリがあります。

select l.id, l.foo, r.id, r.foo
from tbl l 
    inner join storyevents r on l.id = r.id
    right join (
        select distinct foo from tbl where id= l.id
    ) tmp on l.foo = tmp.foo
where l.foo = 12345

しかし、次のエラーが発生します。

The multi-part identifier "l.id" could not be bound.

サブクエリに関連してright join

inner joinボーナスポイント:これは、単一の列に基づいて重複する行を削除する試みです。これを行うためのより良い方法は?

4

2 に答える 2

1

これを試して、

SELECT l.id, l.foo, r.id, r.foo
FROM   storyevents l 
         INNER JOIN storyevents r 
               ON l.id = r.id
         RIGHT JOIN 
         (
               SELECT distinct extid, foo 
               FROM storyevents
         ) tmp on l.foo = tmp.foo AND
                  tmp.extid = l.id
where l.foo = 12345
于 2012-08-22T07:50:33.547 に答える
0

重複行を削除するより良い方法は?

 select distinct l.id, l.foo, r.id, r.foo 
 ....
于 2012-08-22T07:50:50.720 に答える