2016-11-14 113 views
1

列指定的名字我一直在問這個問題的一個分配:麻煩在SQL查詢結果

找到那些對同時具有相同的速度和RAM PC機型。一對應只列出 ,例如一次。如果(I,j)列出,不列(j,i). 結果:

PC1.model PC2.model 

1004  1012 

下面的代碼,我寫道:

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; 

給了我答案:

MODEL MODEL 

1004 1012 

但是我兩列名字應該是PC1.model and 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; 

,但我不斷收到一個錯誤:

Error at Command Line : 1 Column : 30
Error report -
SQL Error: ORA-00923: FROM keyword not found where expected 00923. 00000 - "FROM keyword not found where expected"
*Cause:
*Action:

我試着盡我所能,我只是想重命名我的專欄但我似乎無法找到方法。任何幫助,將不勝感激。

+0

你是如何在你共享查詢重新命名列。你在做什麼是'seleection'。更新表是一個非常不同的事情,需要'alter'關鍵字 – mrid

+0

對不起。我的意思是說我希望結果的列名與表中的不同。與我以前的代碼兩列名稱輸出爲「模型」,但我想第一列說PC1.model和第二個說PC2.model。我試着改變這種說法:SELECT distinct PC1.model as'PC1.model',PC2.model as'PC2.model',但是這給了我一個錯誤。 – CSgirl

回答

0

嘗試這樣的:

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; 
+0

#CSgirl正在使用單引號,在這裏它使用雙引號「PC1.model」和「PC2.model」,#NineBerry已經指向相同 – James