2

クエリから、クエリを解決する方法がわからない場合、列名が重複しているというエラーが発生します

SELECT distinct(courseid+senderid+recipientid) as diskey,
       mess.id,
       User.firstName as recipientName,
       Course.name,
       senderid,
       recipientid,
       courseid,
       message,
       mess.status,
       mess.createdOn 
FROM 
(
    SELECT * 
    from Message,User,Course 
    where Message.recipientid=User.id 
        and Message.courseid=Course.id 
    order by Message.createdOn DESC
) as mess,
     User,
     Course 
WHERE senderid ='3' 
      OR recipientid='3' 
GROUP BY diskey;    

誰でも助けることができますか

4

4 に答える 4

7

重複を避けるために、次のように列名にそのテーブルのプレフィックスを付けます。

tab_name.col_name
于 2012-11-12T11:49:58.707 に答える
0
于 2012-11-12T11:55:09.973 に答える
0

交換してみる

WHERE senderid ='3' 
  OR recipientid='3' 

HAVING senderid ='3' 
  OR recipientid='3' 

ハッピーコーディング!

于 2013-01-21T09:02:27.573 に答える