gpt4 book ai didi

mysql - 根据左连接其他表选择空记录

转载 作者:行者123 更新时间:2023-11-29 12:07:12 27 4
gpt4 key购买 nike

下面有一个选择语句。 tblplayer 包含 Game = 'FPS' 的 709 条记录。tblPlayerPoints 包含 1 条记录,其值为 (2, 'FPS', 812, 0)。sql 应返回 709 条记录,我可以运行这些记录来插入值(1、'FPS'、playerid、0)。然而,运行下面的 SELECT 后,它只返回 708 条记录。所以它排除了已经存在的记录。

它应该忽略该记录,因为第一个值 (2) 与新的第一个值 (1) 不同。我尝试添加 AND tblPlayerPoints.Gamenumber < 2 但随后我得到 0 条记录而不是 709 条记录。

删除 tblPlayerPoints.Points IS NULL 后,我确实得到了 709 条记录。但我无法删除该行,因为如果具有值 (1, 'FPS', playerid, 0) 的行已存在,则不应再次添加该行。

SELECT 1 , 'FPS', tblPlayer.PlayerId, 0
FROM tblPlayer
LEFT JOIN tblPlayerPoints ON tblPlayer.Id = tblPlayerPoints.PlayerId
WHERE tblPlayer.Game = 'FPS'
AND tblPlayer.Subscription = '1'
AND tblPlayerPoints.Points IS NULL

完整插入示例:

INSERT INTO tblpronoploegritpunten ("1","FPS",PlayerId,"0") 
SELECT 1 , 'FPS', tblPlayer.PlayerId, 0
FROM tblPlayer
LEFT JOIN tblPlayerPoints ON tblPlayer.Id = tblPlayerPoints.PlayerId
WHERE tblPlayer.Game = 'FPS'
AND tblPlayer.Subscription = '1'
AND tblPlayerPoints.Points IS NULL

此完整插入应向 tblPlayerPoints 添加 709 条记录如果我将完整插入示例(订阅除外)中的“1”更改为“2”,它应该只添加 708 条记录,因为已经有一条以值 2 开头的记录。

最佳答案

根据我对你的问题的理解,而不是

and tblPlayerPoints.Gamenumber is null

你可能想要一起去

and IFNULL(tblPlayerPoints.Gamenumber,0) <> 1

关于mysql - 根据左连接其他表选择空记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31280318/

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