0

我对子查询的列结果有疑问。

当我编写查询时:

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

4

2 回答 2

1

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

谢谢你的帮助 :)

于 2013-07-09T23:08:53.143 回答
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'
于 2013-07-09T16:16:35.820 回答