选择语句中的大小写


case in select statement?

我的陈述是否正确

$uid=1;
$pby=1;
$db->query("SELECT 
  CASE WHEN (c.uid!='$uid' and c.uid!='$pby')
    THEN
      ( SELECT c.id, c.comment, c.uid,c.msgid, c.tstamp, u.fullname, u.img FROM 
   comments c join users u on c.uid=u.uid where c.msgid='$id' and 
   c.condition!='ga'   order by c.tstamp desc limit 10)
      )
 ELSE 
     ( SELECT c.id, c.comment, c.uid,c.msgid, c.tstamp, u.fullname, u.img FROM 
      comments c join users u on c.uid=u.uid where c.msgid='$id'  
      order by c.tstamp desc limit 10)
      )
  END
  FROM comments c where c.msg_id='$id'") ;

我试过这个,但抛出空结果。 不知道出了什么问题

更新至

SELECT c.id, c.comment, c.uid,c.msgid, c.tstamp, u.fullname, u.img

  CASE WHEN (c.uid!='$uid' and c.uid!='$pby')
    THEN
      ( SELECT c.id, c.comment, c.uid,c.msgid, c.tstamp, u.fullname, u.img FROM 
   comments c join users u on c.uid=u.uid where c.msgid='$id' and 
   c.condition!='ga'   order by c.tstamp desc limit 10)
      )
 ELSE 
     ( SELECT c.id, c.comment, c.uid,c.msgid, c.tstamp, u.fullname, u.img FROM 
      comments c join users u on c.uid=u.uid where c.msgid='$id'  
      order by c.tstamp desc limit 10)
      )
  END
  FROM comments c join users u on c.uid=u.uid where c.msgid='$id'

请指定要选择的字段并将查询更新为

$db->query("SELECT field1, field2
  CASE WHEN (c.uid!='$uid' and c.uid!='$pby')
    THEN
      ( SELECT c.id, c.comment, c.uid,c.msgid, c.tstamp, u.fullname, u.img FROM 
   comments c join users u on c.uid=u.uid where c.msgid='$id' and 
   c.condition!='ga'   order by c.tstamp desc limit 10)
      )
 ELSE 
     ( SELECT c.id, c.comment, c.uid,c.msgid, c.tstamp, u.fullname, u.img FROM 
      comments c join users u on c.uid=u.uid where c.msgid='$id'  
      order by c.tstamp desc limit 10)
      )
  END
  FROM comments c where c.msg_id='$id'") ;