我需要显示表A中的3列和表B中的一列。我使用以下连接查询来组合它们但没有获得预期列中的值。 example1 - 这是有效的。(如果我在表A中显示一列,从表B中显示一列,则可以正常工作)
SELECT
tableA.col1(fkid),
tableB.col1
FROM tableA
INNER JOIN tableB
ON tableA.fkid = tableB.pkid;
我需要显示表A中的3列和表B中的一列,以下查询无效。
SELECT
tableA.col1,
tableA.col2,
tableA.col3,
tableB.col1
FROM tableA
FULL JOIN tableB
ON tableA.fkid = tableB.pkid;
Original query:
select device.name,device.description, device.fkphonetemplate,phonetemplate.name from device inner join phonetemplate ON device.fkphonetemplate=phonetemplate.pkid;
结果:
description fkphonetemplate name
Nikhil (nkalantr) 10ce46f6-615d-4605-9f42-454225df5647 ARRAY(0xc7153b0)
预期结果应为:
description fkphonetemplate name
Nikhil (nkalantr) 10ce46f6-615d-4605-9f42-454225df5647 Standard 7960 SCCP
我没有从结果中的设备表中获取名称,而来自phonetemplate表的名称显示为Array0X ......但我需要获得像预期结果中所示的标准7960之类的phonetemplate名称。 您可以优化我的查询或建议第二个查询有什么问题吗?
答案 0 :(得分:0)
您是否有任何理由使用完全加入而不是内连接? 如果不是,请尝试使用内连接。
SELECT
a.col1,
a.col2,
a.col3,
b.col1
FROM tableA a
INNER JOIN tableB b
ON a.fkid = b.pkid;
您能否提供数据库样本数据,以便我们清楚地了解您的需求。