gpt4 book ai didi

mysql - SQL使用多个查询从同一个表中获取多个值(来自同一列)

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:14 24 4
gpt4 key购买 nike

我试图通过运行两个查询从表中的同一列中获取值列表。

表格是这样的:

******************************************
Key | Short_text | UID | Boolean_value
******************************************
Name | John | 23 | null
******************************************
Male | NULL | 23 | true
******************************************
Name | Ben | 45 | null
******************************************
Male | NULL | 45 | true

如果 Male 行的 bool 值基于 UID 为真,我将尝试获取 NAME 行的 SHORT_TEXT

这是我目前所拥有的(抛出错误:子查询返回超过 1 个值。当子查询遵循 =、!=、<、<=、>、>= 或子查询时,这是不允许的用作表达式。)

  SELECT SHORT_TEXT_VALUE
FROM Table
WHERE ((SELECT UID
FROM Table
WHERE KEY = 'NAME') =
(SELECT CUSTOMER_UID
FROM Table
WHERE KEY = 'Male'
AND BOOLEAN_VALUE = 1))

我是 sql 的新手,所以我不确定我应该怎么做才能实现我想要的。

如有任何帮助,我们将不胜感激。

最佳答案

你可以自己加入你的 table :

SELECT
t1.UID,
t1.Short_text
FROM
tablename t1 INNER JOIN tablename t2
ON t1.UID=t2.UID
WHERE
t1.Key='Name' AND t2.Key='Male' AND t2.Boolean_value=TRUE

或者这个与 EXISTS:

SELECT
t1.UID,
t1.Short_text
FROM
tablename t1
WHERE
t1.Key='Name' AND
EXISTS (SELECT * FROM tablename t2
WHERE t1.UID=t2.UID AND t2.Key='Male' AND t2.Boolean_value=1)

关于mysql - SQL使用多个查询从同一个表中获取多个值(来自同一列),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26773976/

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