mysql - 从表 WHERE 中选择 x

标签 mysql sql

我在为我的情况创建查询时遇到问题:

我有表用户:

ID   NAME   CREDITS

1   "AAA"   10000

2   "BBB"   20000

3   "CCC"   30000

和表格存储:

ID    ITEM_ID   ACTIVE

2    "table"    true

2    "chair"    false

1    "apple"    true

我想选择 ID 的 ACTIVE 等于 true 的所有名称,因此对于我的情况,输出应该是:

"AAA"
"BBB"

我做到了:

SELECT NAME FROM user WHERE (SELECT DISTINCT ID FROM store WHERE ACTIVE=true);

但是第一个 WHERE 是错误的......我认为。你能帮我吗?

谢谢

最佳答案

使用连接:

SELECT DISTINCT user.NAME
FROM store
JOIN user ON store.ID = user.ID
WHERE ACTIVE = true

我要补充一点,你的问题表明用户 ID 与商店 ID 具有相同的含义,这似乎不太可能。您更有可能不应该比较这些 ID 列。

更有可能的是,您根本不应该尝试连接这两个表。

关于mysql - 从表 WHERE 中选择 x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20694782/

相关文章:

sql - 如何编写SQL来在Oracle中显示我的案例中的数据?

java - 准备好的语句返回错误值

java - 按日期搜索数据库

mysql - 在带有 SQLSTATE 的 MySQL 中使用变量作为错误代码

mysql - 如何在linux服务器上找到mysql服务

mysql - 改进 MySQL 查询以获取记录

sql - t-sql使用内连接更新多行

python - 在以灵活的形式设置另一个字段后,动态更改一个字段的下拉选项。架构

mysql - 您如何看待 mysql 表上的级联删除?

php - Laravel 中如何将多张图片保存到数据库中?