我的子查询中的列结果存在问题。
当我写下查询时:
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
答案 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'