Mysql 我得到的错误操作数应包含1列

Mysql 我得到的错误操作数应包含1列,mysql,mysql-error-1241,Mysql,Mysql Error 1241,这是我的代码,我不明白为什么下面的代码返回的错误操作数应该包含1列。我知道这两个查询都独立于下面的查询。任何帮助都将不胜感激 SELECT * FROM 2014_summary, 2014_profiles WHERE 2014_summary.player_id = 2014_profiles.player_id AND tournament_id = 'bec904c4-b2a3-4eba-a2bc-335aca680a40' AND 2014_summary.player_id N

这是我的代码,我不明白为什么下面的代码返回的错误操作数应该包含1列。我知道这两个查询都独立于下面的查询。任何帮助都将不胜感激

SELECT * 
FROM 2014_summary, 2014_profiles 
WHERE 2014_summary.player_id = 2014_profiles.player_id AND tournament_id = 'bec904c4-b2a3-4eba-a2bc-335aca680a40' AND 2014_summary.player_id 
NOT IN
(SELECT 
    T1.*, 
    T2.player_id as primary_player_id 
FROM (SELECT id, lead_id, form_id, MAX(case when field_number = 1 then value end) display_name, 
    MAX(case when field_number = 7 then value end) email, 
    MAX(case when field_number = 6 then value end) tournament_name, 
    MAX(case when field_number = 3 then value end) primary_golfer, 
    MAX(case when field_number = 4 then value end) backup_golfer, 
    MAX(case when field_number = 5 then value end) date, 
    MAX(case when field_number = 8 then value end) tournament_id 
FROM `wp_rg_lead_detail` 
GROUP BY lead_id)T1 
INNER JOIN (SELECT CONCAT(first_name, ' ', last_name) as player_name, player_id FROM 2014_profiles)T2 ON T1.primary_golfer = T2.player_name
WHERE display_name = "Hosker" AND tournament_id != 'bec904c4-b2a3-4eba-a2bc-335aca680a40')
ORDER BY (last_name) ASC

您的
不在
中是:

2014_summary.player_id NOT IN
    (SELECT  T1.*, T2.player_id as primary_player_id 
MySQL不知道在
选择
以与
player\u id
进行比较时使用哪个列。因此它返回一个错误。实际上,这是ANSI标准的SQL功能,所有数据库都是这样工作的。
中的
中的子查询只需要返回一列

我想你想要:

2014_summary.player_id NOT IN
    (SELECT TT2.player_id
     . . .

你从哪里得到的错误?请添加完整的错误消息。它没有给我一个特定的行,not IN是新添加到查询中以将它们连接在一起。完整的错误消息是什么?首先,您的sql语法中有一个错误…也就是说-#1241-操作数应该包含1列,这对我来说很有效。谢谢你,非常感谢你的帮助。