SQL查询返回“操作数应包含1列(S)”(SQL query returning “Operand

2019-08-08 18:15发布

我目前工作的一个查询这将有从一个表中的所有行,但仅限于从其它信息。

我试过这个查询工作:

SELECT `t`.`uid`, `t`.`cid`, `t`.`id` FROM `tracking` as `t`
JOIN (SELECT DISTINCT(`p`.`id`, `p`.`firstname`, `p`.`lastname`, `p`.`company`) FROM `publishers` as `p`) as `p`
ON `p`.id = `t`.uid

但是,我得到的错误是在主题标题。

任何人都可以看到我在做什么错在这里?

编辑:

ID INT(11)初级AI,CID INT(11),流体INT(11):在跟踪结构

上的发布商结构:ID INT(11)初级AI,姓名varcher(60),姓氏VARCHAR(60),公司的varchar(100)。

示例:发布者ID 1,名字尼古拉,姓氏杰普森,公司APECHO ID 6,ROBERT名字,姓氏SCOTT,公司烙饼有限公司

跟踪ID 1,CID 1,UID 1; ID 2,CID 1,UID 6; ID 3,CID 3,UID 1

Answer 1:

当然没有两个出版商可以共享同一个ID,名字,姓氏和公司!

SELECT t.uid
     , t.cid
     , t.id 
  FROM tracking t
  JOIN publishers p
    ON p.id = t.uid;


Answer 2:

DISTINCT( pidpfirstnameplastnamepcompany

就是问题所在。 掉落的括号:

SELECT `t`.`uid`, `t`.`cid`, `t`.`id` FROM `tracking` as `t`
JOIN (SELECT DISTINCT `p`.`id`, `p`.`firstname`, `p`.`lastname`, `p`.`company` FROM `publishers` as `p`) as `p`
ON `p`.id = `t`.uid

这应该允许查询工作......但是,如果你必须使用不同这一点,有可能是别的东西不对您的数据结构或查询。



文章来源: SQL query returning “Operand should contain 1 column(s)”