当前位置: 首页 > 知识库问答 >
问题:

如何在我的sql查询中获得正确的用户ID?

从经略
2023-03-14

我的节点应用程序中有以下查询:

select
  *
from
  messengerList
where
  messenger_id = ${u_id}
  and not status = "rejected"
  or messenged_id = ${u_id}
  and not status = "rejected"

它在函数中如下所示

let chatIdList = await sqlSrv.getSqlResults(`select * from messengerList where messenger_id=${u_id} and not status="rejected" or messenged_id=${u_id} and not status="rejected"`)
    .catch(error => {throw error});

我不想全选,我只想选择idMessenger_IDMessenged_ID,其中id不等于U_ID
因此,ChatidList应如下所示:

[{id: 1, messenger_id: 3}, {id: 2, messenged_id: 5}] // messenger_id != messenged_id != u_id

我可以通过更改查询来实现这一点吗?如果是,你能提供这样一个查询或一个例子吗?

共有2个答案

丁淇
2023-03-14

基本上,您所做的除了添加另一个条件来消除那些您不想显示的:

select
  *
from
  messengerList
where
not status = "rejected"
and messenger_id <> messenged_id
  and (
       messenger_id = ${u_id}
       or messenged_id = ${u_id}
  )
宋昕
2023-03-14

如果我理解正确的话。首先,列出所有数据,然后用if查询

简单代码

SELECT * FROM messengerList

然后,

  if(res.rows[i].messenger_id==u_id){
          //....
     }else{
          //----
     }
 类似资料:
  • 我想从这个表中获取所有数据,因为我正在使用查询: 它没有给我任何结果。我是php新手,有人能帮我解决这个问题吗?

  • 问题内容: 如何获得查询中错误的位置? 我需要在导致错误的查询字符串中获取位置,就像这样: 我怎样才能做到这一点? 问题答案: 当我几乎失去希望时,经过一番漫长的闲逛,我发现了以下链接(感谢Google中正确的搜索字符串):https : //forums.oracle.com/thread/1000551

  • PDF内容流 表示pdf使用F1字体,设置fontsize 40.959999。 我有一个关于实际字体大小是否为40.959999的问题。因为字体大小40太大了,但是在adobe arcrobat pro中显示的文本没有那么大。 在此pdf中没有意义

  • 问题内容: 我知道statement.cancel()可用于取消正在运行的SQL查询,但是我想知道的是,我将如何在另一个线程中保持该语句对象。 用例: 我请求启动一个运行语句的线程。 然后从一个单独的请求(另一个线程),我可能想取消此线程。 我将如何在这个 新请求中 获得声明以在其中调用cancel方法。 在某些情况下,我可能要运行多个语句。 附加信息,它是一个Web应用程序,使用spring框架

  • 我目前使用的是hibernate 5.0.7,由于HQL查询的局限性(主要是缺乏顶级或极限能力),我已经到了尝试实现本机SQL查询的地步。由于我们的存储库是通过接口连接成spring bean的,我们目前使用带注释查询和函数查询的组合来获取数据。 我的查询示例如下 然而;我的实际查询更复杂,使用了GroupBy(函数查询似乎没有的东西)和Top(直接HQL查询似乎没有的东西) 我们数据库中的所有表

  • 问题内容: 我有以下代码是我从模型中获取的, 当我在zend中使用更新查询时, 在这里我想知道确切的mysql查询。有什么办法可以在zend中打印mysql查询吗?好心劝告 问题答案: 选择对象在Zend Framework中具有__toString()方法。 从Zend Framework手册中: 另一种解决方案是使用Zend_Db_Profiler。即 http://framework.zen

  • 问题内容: 我有问题,请查看我的数据库: 我想收到这样的信息(按投票顺序,从最高到最低): 您能帮我写正确的SQL查询吗? 问题答案:

  • 我在索引此查询时遇到问题: 结果是: 我知道它显示0.00秒是执行时间,但此查询将运行多次,它显示它会减慢我的数据库,我不知道为什么! 每次我看到行检查是459448这个查询,所以它在某些原因对我的工作相当糟糕。 有人能给个建议吗?我如何为odata表制作合适的索引?或者我可以使用子查询来修复它? 这些表是: 解释odata: 并解释 wdata: 不得不说wdata.id和odata.vref已