mysql - SQL查询根据表中的2条记录从1个表中获取记录

标签 mysql sql

我必须编写一个查询来显示特定类型下的前 25 个 game_id。 数据库表就像

| id | genre_id | game_id | is_primary |
----------------------------------------
  1    6000       12345      0
  2    6007       12345      1
  3    6000       23492      0
  4    6007       82837      1
----------------------------------------

在这里,您可以看到记录 1 和 2 对于 is_primary = 0 和 1 具有相同的 game_id。我要做的就是执行一个同时包含 Genre_id 的查询,并且我必须获取属于这两个类型的 game_id 。表示game_id,其中genre_id为6000,is_primary=0,genre_id为6007,is_primary=1。

在网上搜索但没有成功。

我尝试了这个查询

 SELECT game_id FROM table_name WHERE 
(SELECT game_id FROM table_name WHERE genre_id=6000 AND is_primary=0) 
AND ganre_id=6007 AND is_primary=1;

但是此查询出现错误,因为子查询返回多个值

最佳答案

尝试此查询(已更新)

SELECT game_id FROM table_name WHERE game_id IN(SELECT game_id FROM table_name WHERE genre_id=6000 AND is_primary=0)
 AND ( ganre_id=6007 AND is_primary=1);

关于mysql - SQL查询根据表中的2条记录从1个表中获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9510879/

相关文章:

mysql - SQL 外连接

mysql - 根据连接表 SQL 中的其他值选择值

php - HTML表格可以通过form传递并通过post获取值吗?

php - 数据不粘在用户个人资料上

sql - 获取 MySQL 数据库列表和服务器版本?

php - 从多个用户提供的 MySQL 搜索提供 where 子句 - 修复和更好的算法

Mysql修改密码时出现错误1064

stored-procedures - MySql 恢复问题 :Stored procedure not Restored

PHP/SQL - 从两个表、两个数据库中选择数据并按时间排序

c# - "Login failed for user"C# 与 SQLConnection