使用MySQL子查询无效的结果

使用MySQL子查询无效的结果,mysql,Mysql,我对子查询的列结果有一个问题 当我编写查询时: select Q1.numi, Q1.sir from (select numi, sir from cust_vehicle where topg = 'VU') Q1 inner join (select id_contact, sir, ni from cust_contact) Q2 on Q1.sir = Q2.sir 我得到2个输出列(numi和sir) 但如果我将上面的查询转换为子查询,如下所示: select Q3.* from

我对子查询的列结果有一个问题

当我编写查询时:

select Q1.numi, Q1.sir from (select numi, sir from cust_vehicle where topg = 'VU') Q1
inner join (select id_contact, sir, ni from cust_contact) Q2 on Q1.sir = Q2.sir
我得到2个输出列(numi和sir)

但如果我将上面的查询转换为子查询,如下所示:

select Q3.*
from (
select Q1.numi, Q1.sir from (select numi, sir from cust_vehicle where topg = 'VU') Q1
inner join (select id_contact, sir, ni from cust_contact) Q2 on Q1.sir = Q2.sir
) Q3
我只得到第一列作为输出(numi字段)

为什么我会有这种行为


作为参考,我在OS X 10.8上使用MySQL 5.6.11,我找到了问题的根源。这是MySQL工作台。
SELECT cv.numi
     , cv.sir 
     , cc.id_contact
     , cc.ni 
  FROM cust_vehicle cv
  JOIN cust_contact cc
    ON cc.sir = cv.sir
 WHERE cv.topg = 'VU'
我打开了一个新的SQL表并将查询粘贴到其中。现在,一切都好了


谢谢您的帮助:)

作为旁注,就我所知,您为什么要使用子查询?您所需要的只是一个基本联接。。。。您的查询似乎正确地输出了数据。你在哪里试过做这件事?通过任何编程代码?我使用MySQL工作台。很奇怪,你不认为你在回答OP的问题,是吗?我突然想到他知道如何获得他想要的信息。然而,当他做其他事情时,他得到了一个意想不到的结果,并问为什么。我自己一直是命令行的忠实粉丝。如果我打算使用一个IDE,它将是蟾蜍,我用过的每一个IDE在某种程度上都是不合适的。