mysql - 根据其他列从 1 列返回 2 个值的查询

标签 mysql

我需要创建一个 SQL 查询,该查询根据该列和其他列中的值从 1 列返回多个值。 我有2张 table , table 1 Table 2

我当前的查询是

SELECT title, id, value, item_id, catid, created, field_id, alias
FROM gewtk_content p
INNER JOIN gewtk_fields_values ON p.id = item_id
WHERE `value` = 'Jessica' AND `title` REGEXP '/ESD' 
AND `state` = '1' AND (`field_id` = '265' 
OR `field_id` = '297' OR `field_id` = '301' 
OR `field_id` = '301' OR `field_id` = '302' 
OR `field_id` = '303' OR `field_id` = '304')

按预期工作 但我还需要返回“值”列中的条目,其中 field_id = 186 以及与上述查询结果中的 item_id 匹配的 item_id 条目。在这种情况下,item_id = 532 所以使用表中的数据和上面的查询结果将是

<table style="height: 108px;" width="740">
<tbody>
<tr style="height: 31px;">
<td style="width: 75.7833px; height: 31px;">title</td>
<td style="width: 75.7833px; height: 31px;">id</td>
<td style="width: 75.7833px; height: 31px;">value</td>
<td style="width: 75.7833px; height: 31px;">item_id</td>
<td style="width: 75.7667px; height: 31px;">cat_id</td>
<td style="width: 75.7833px; height: 31px;">created</td>
<td style="width: 75.7667px; height: 31px;">field_id</td>
<td style="width: 75.7833px; height: 31px;">alias</td>
</tr>
<tr style="height: 39.7333px;">
<td style="width: 75.7833px; height: 39.7333px;">positive/ESD</td>
<td style="width: 75.7833px; height: 39.7333px;">532</td>
<td style="width: 75.7833px; height: 39.7333px;">jessica</td>
<td style="width: 75.7833px; height: 39.7333px;">532</td>
<td style="width: 75.7667px; height: 39.7333px;">24</td>
<td style="width: 75.7833px; height: 39.7333px;">2019-04-03 05:41:3</td>
<td style="width: 75.7667px; height: 39.7333px;">265</td>
<td style="width: 75.7833px; height: 39.7333px;">positive-esd-18</td>
</tr>
</tbody>
</table>
在此示例中,我需要在值列中添加条目,其中 field_id = 186 和 item_id = 532 为“已关闭” 我看不出这是怎么可能的,因为我需要在 1 行的值列中显示 2 个条目。

最佳答案

您可以第二次连接表 1 并将第二个所需值与 or 连接添加到 where 子句。现在您将收到每个查询两行。为避免这种情况,您可以使用 group by条款最后。对于 (result) 列,您将使用连接。这肯定只是一种选择,我不确定这是否是最好的。

你可以打开一个 sqlfiddle使用一些播放数据可以更轻松地为您提供帮助。

关于mysql - 根据其他列从 1 列返回 2 个值的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57667967/

相关文章:

mysql - 子查询多行

MySQL 前导 0 的日期格式

MySQL为表中的每个人选择前X条记录

MySQL IF 语句用法

php - 通过PHP将时间添加到mysql中保存的时间

带有谷歌地图经纬度的 MySQL GeomFromText

mysql - 如何使用 mysql 编写查询,与使用子查询的多个值相比,我可以获得一些值

MySql存储过程: How to select from procedure table?

php - MySQL Insert 动态失败但直接工作

MySQL浮点值查询问题