0

古い取得

メッセージ 512、レベル 16、状態 1、行 1 サブクエリが複数の値を返しました。サブクエリが =、!=、<、<=、>、>= の後にある場合、またはサブクエリが式として使用されている場合、これは許可されません。"

このスクリプトを実行しようとするとエラーが発生します:

SELECT  name_first,
        name_last
FROM person
INNER JOIN message
    ON person.person_id = (
        SELECT message.recipient_id 
        FROM message 
        WHERE message.filename = '1003-5ivGbUqIz80r0NwCl9kzWpDjYDit9L.mp3')

私が間違っていることを理解するための助けをいただければ幸いです。

4

2 に答える 2

3

サブクエリは必要ありません。

SELECT DISTINCT name_first, name_last
FROM   person 
       INNER JOIN message 
         ON person.person_id = message.recipient_id  
WHERE  message.filename = '1003-5ivGbUqIz80r0NwCl9kzWpDjYDit9L.mp3'

DISTINCTSELECT複数のメッセージを持つことができると仮定して、個人の一意の名前のみを表示するように句で指定されました。

于 2013-09-25T22:24:05.840 に答える