2016-06-19 19 views
5

SQL'de çok yeni başlıyorum, bu soru ilkel ise üzgünüm.
http://www.w3schools.com eğitimini izlemeye başladım, bu yüzden üzerinde çalışmayı denemek için "Northwind" veritabanını indirdim ve DB'ye erişmek için pgAdmin 3 konsolunu kullanarak. Sadece masanın bir sütun seçmek için basit komutu çalıştı, ancak herhangi bir masada herhangi bir şey emrime yanlış olduğunu sormak istiyorumSQL - İPUCU bir sütuna başvurmak için

LINE 1: select City from Customers; 
         ^
HINT: Perhaps you meant to reference the column "customers.City". 

herhangi sütun ile aynı şu mesajı veriyor? ve nasıl düzeltilir?

Teşekkürler

+1

w3school hacklendi? (Ben her türlü güvenilir-saçma) – wildplasser

+1

@wildplasser Bence doğru URL http://www.w3schools.com olduğunu –

+0

@wildplasser üzgünüm bu benim yanlış oldu. Martin'in dediği gibi bu linki ben düzenledim. – philippos

cevap

10

Bu "Northwind" veritabanını içe aktardığınızda, sütun adları CamelCase'e içe aktarıldı. İçe aktarımınız, sütun tanımlayıcılarına create table sorgularına çift tırnak eklediler.

select "City" from customers; 

Ben rename all columns to lower case sizi öneririm aklı başında kalması için: Bu sizin gibi, tüm sorgularda da onlardan alıntı zorunda olduklarını neden olacak şekilde

Bu, oldukça talihsiz olduğunu. Bu şekilde, hangi durumda kullandığınız önemli değildir, çünkü Postgres tüm unquoted tanımlayıcıları otomatik olarak küçük harflere dönüştürür. Sonra bunların herhangi biri işe yarar:

select city from customers; 
select City from Customers; 
SELECT CITY FROM CUSTOMERS; 
+0

Teşekkür ederiz @Tometzky! Tüm sütunları yeniden adlandırdıktan sonra çalıştı. Ancak, bir veritabanını, tüm isimleri orijinal haliyle saklayacağım şekilde içe aktarma konusunda herhangi bir başvuruda bulunup bulunmadığını soracağım. – philippos

0

Sorgunuzla ilgili yanlış bir şey yok. Öğreticinizin, tablo adını her zaman referans verdiğiniz sütunlara hazırlama pratiğini izlemenizi istediği anlaşılıyor. Gerçekte, bu yalnızca aksi takdirde bir belirsizlik yaratacağı zaman gereklidir (örneğin, her ikisi de bir Şehir sütunu olan iki tabloya başvuruyorsanız).

+0

Bu bir eğitim değil bir postgres özelliği gibi görünüyor. http://pgeoghegan.blogspot.co.uk/2015/11/suggesting-corrected-column.html “Müşteriler” ve “Müşteriler” gibi büyük/küçük harf duyarlılığı ile ilgili bir şey tahmin edersem Postgres ile yeterince tanıdık değil. emin ol. –

İlgili konular