为SQL查询结果中的列指定名称时出错

为SQL查询结果中的列指定名称时出错,sql,Sql,我被问到这个问题是为了一项任务: 找到速度和RAM都相同的电脑型号对。应该列出一对 仅列出一次,例如,如果列出了I,j,则不要列出j,I。 结果: 我编写了以下代码: SELECT distinct PC1.model, PC2.model FROM PC PC1,PC PC2 WHERE PC1.model < PC2.model and PC1.speed = PC2.speed and PC1.ram = PC2.ram; 但是,我的两个列名应该是PC1.model和PC2.mod

我被问到这个问题是为了一项任务:

找到速度和RAM都相同的电脑型号对。应该列出一对 仅列出一次,例如,如果列出了I,j,则不要列出j,I。 结果:

我编写了以下代码:

SELECT distinct PC1.model, PC2.model
FROM PC PC1,PC PC2
WHERE PC1.model < PC2.model and PC1.speed = PC2.speed and PC1.ram = PC2.ram;
但是,我的两个列名应该是PC1.model和PC2.model

我试着把代码改成下面的代码

SELECT distinct PC1.model as 'PC1.model', PC2.model as 'PC2.model'
FROM PC PC1,PC PC2
WHERE PC1.model < PC2.model and PC1.speed = PC2.speed and PC1.ram = PC2.ram;
,但我一直收到一个错误:

命令行错误:1列:30 错误报告- SQL错误:ORA-00923:未在预期位置找到FROM关键字 92300000-未在预期位置找到FROM关键字 *原因: *行动:

我已经尽了我所能,我只是想重命名我的列,但我似乎找不到办法。任何帮助都将不胜感激

试着这样做:

  SELECT distinct PC1.model as "PC1.model", PC2.model as "PC2.model"
    FROM PC PC1,PC PC2
    WHERE PC1.model < PC2.model and PC1.speed = PC2.speed and PC1.ram = PC2.ram;
试着这样做:

  SELECT distinct PC1.model as "PC1.model", PC2.model as "PC2.model"
    FROM PC PC1,PC PC2
    WHERE PC1.model < PC2.model and PC1.speed = PC2.speed and PC1.ram = PC2.ram;

如何重命名已共享查询中的列。你所做的是选择。更新表是一件非常不同的事情,它需要alter关键字对不起。我的意思是,我希望结果的列名与表中的列名不同。在前面的代码中,两个列名都输出为MODEL,但我希望第一列显示为PC1.MODEL,第二列显示为PC2.MODEL。我试图通过以下方式对此进行更改:将distinct PC1.model选择为'PC1.model',将PC2.model选择为'PC2.model',但这给了我一个错误。您如何重命名已共享查询中的列。你所做的是选择。更新表是一件非常不同的事情,它需要alter关键字对不起。我的意思是,我希望结果的列名与表中的列名不同。在前面的代码中,两个列名都输出为MODEL,但我希望第一列显示为PC1.MODEL,第二列显示为PC2.MODEL。我试图改变这一点,我说:选择不同的PC1.model作为'PC1.model',PC2.model作为'PC2.model',但这给了我一个错误。CSgirl使用单引号,这里它使用双引号表示PC1.model和PC2.model,NineBerry已经指出相同的ECSGIRL使用单引号,这里它使用双引号表示PC1.model和PC2.model,NineBerry已经指出了同样的问题
  SELECT distinct PC1.model as "PC1.model", PC2.model as "PC2.model"
    FROM PC PC1,PC PC2
    WHERE PC1.model < PC2.model and PC1.speed = PC2.speed and PC1.ram = PC2.ram;