gpt4 book ai didi

MySQL语句分别查询每个结果

转载 作者:行者123 更新时间:2023-11-29 18:43:39 25 4
gpt4 key购买 nike

我正在尝试查询 WordPress 数据库,其中每个用户的每个值都存储在不同的行中。

例如

ID  USER_ID FIELD_ID  VALUE
1 1 2 my name is paul smith
2 1 3 i bought books
3 1 4 online
4 2 2 my name is big boy
5 2 3 i bought pens
6 2 4 offline

在这里您可以看到的不是字段名称,而是FIELD_ID,因此FIELD_ID=2表示用户名,FIELD_ID=3表示他们购买的内容,FIELD_ID=4表示他们在线/离线。

我需要做的是创建一个 sql 语句,返回当前在线购买钢笔的用户列表。

所以我尝试这样做

选择 field_id=4 且 value='online' 的所有用户

 string online= "(select * from table where FIELD_ID='4' AND VALUE='online')";

选择 field_id 3 包含“pens”的所有用户

 string pens="(select * from table where FIELD_ID='3' AND VALUE LIKE '%pens%'";

然后像这样把它们放在一起

string query=pens + " WHERE " + online;

如果我单独运行“online”和“pens”sql语句,它可以工作,但是组合的“query”不会返回任何内容。

我猜这可能是因为“在线”查询结果将包含一堆现在在线的用户的 USER_ID,但是第二个查询必须对其中的每个 USER_ID 运行查询并返回值。

因此,它必须知道从“在线”查询中选择 USER_ID 字段,然后分别查询每个 USER_ID 并发送回组合结果。

我不知道如何只使用一条 SQL 语句一次性完成所有这些操作,然后将购买钢笔的在线用户发回。

最佳答案

您声明该表包含 USER_ID。如果是这样,则组合两个查询的方法如下:

SELECT * FROM table WHERE FIELD_ID='4' AND VALUE='online' AND USER_ID IN (SELECT USER_ID FROM table WHERE FIELD_ID='3' AND VALUE LIKE '%pens%');

关于MySQL语句分别查询每个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44764679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com