SELECT game_co 他们从未为 PS4 开发过游戏
SELECT game_co WHERE they've never developed a game for PS4
我有一个 MariaDB SQL table,我需要找出哪个游戏公司从未为特定控制台开发过游戏。
一些 game_co
仅适用于 PC 和 Xbox,并且从未在 PS4 上开发过。一些公司在所有游戏机上开发了多款游戏,但他们的一款游戏仅适用于 PC,因此包含在 SELECT 中。没有字段可以检查公司是 XBOX、PC、Nintendo 还是仅 PS4。
我试过的是
SELECT game_co, FROM company
WHERE developed_on_ps4 = ('false');
我添加了 WHERE
个子句,但其中 none 个子句有效,它们都产生了与我在上面添加的代码片段相同的答案。
这个 returns 的结果太多了,我无法找到一种方法来确保 developed_on_ps4
在 game_co
是 Ubisoft 时始终为假。
我是否需要使用 CASE
语句或其他我不确定在考虑后如何工作的东西。
你要的是公司名称不在developed_on_ps4=true
.
公司列表中的所有公司
尝试这样的事情:
SELECT DISTINCT game_co FROM company WHERE game_co NOT IN (
SELECT DISTINCT game_co FROM company where developed_on_ps4='true'
);
如果你有这样的行:
game_co title developed_on_ps4
-------------------------------------
Ubisoft Game 1 true
Ubisoft Game 2 false
Epic Game 3 true
Blizzard Game 4 false
那么你的内部查询:
SELECT DISTINCT game_co FROM company where developed_on_ps4='true';
会return('Ubisoft', 'Epic')
,使您的有效查询:
SELECT DISTINCT game_co FROM company WHERE game_co NOT IN ('Ubisoft', 'Epic');
return 一个条目,["Blizzard"]
我会简单地使用带有 having
子句的聚合来进行过滤。这会在单次 table 扫描中为您提供所需的结果:
select game_co
from company
group by game_co
having sum(developed_on_ps4 = 'true') = 0
我有一个 MariaDB SQL table,我需要找出哪个游戏公司从未为特定控制台开发过游戏。
一些 game_co
仅适用于 PC 和 Xbox,并且从未在 PS4 上开发过。一些公司在所有游戏机上开发了多款游戏,但他们的一款游戏仅适用于 PC,因此包含在 SELECT 中。没有字段可以检查公司是 XBOX、PC、Nintendo 还是仅 PS4。
我试过的是
SELECT game_co, FROM company
WHERE developed_on_ps4 = ('false');
我添加了 WHERE
个子句,但其中 none 个子句有效,它们都产生了与我在上面添加的代码片段相同的答案。
这个 returns 的结果太多了,我无法找到一种方法来确保 developed_on_ps4
在 game_co
是 Ubisoft 时始终为假。
我是否需要使用 CASE
语句或其他我不确定在考虑后如何工作的东西。
你要的是公司名称不在developed_on_ps4=true
.
尝试这样的事情:
SELECT DISTINCT game_co FROM company WHERE game_co NOT IN (
SELECT DISTINCT game_co FROM company where developed_on_ps4='true'
);
如果你有这样的行:
game_co title developed_on_ps4
-------------------------------------
Ubisoft Game 1 true
Ubisoft Game 2 false
Epic Game 3 true
Blizzard Game 4 false
那么你的内部查询:
SELECT DISTINCT game_co FROM company where developed_on_ps4='true';
会return('Ubisoft', 'Epic')
,使您的有效查询:
SELECT DISTINCT game_co FROM company WHERE game_co NOT IN ('Ubisoft', 'Epic');
return 一个条目,["Blizzard"]
我会简单地使用带有 having
子句的聚合来进行过滤。这会在单次 table 扫描中为您提供所需的结果:
select game_co
from company
group by game_co
having sum(developed_on_ps4 = 'true') = 0