MySQL的子查询无效结果

时间:2013-07-09 16:10:55

标签: 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
) Q3

我只获得第一列作为输出(numi字段)。

为什么我会有这种行为?

有关信息,我在OS X 10.8上使用MySQL 5.6.11

2 个答案:

答案 0 :(得分:1)

我找到了问题的根源。这是MySQL Workbench。 我打开了一个新的SQL表并将查询粘贴在其中。现在,一切正常。

感谢您的帮助:)

答案 1 :(得分:0)

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'