Yanıtlar:
Sütun adını parantez içine from
alın.
select [from] from table;
Aşağıdakileri kullanmak da mümkündür (birden çok tablo sorgulanırken yararlıdır):
select table.[from] from table;
select TableName.from from TableName;
PS:
PostgreSQL'de olsaydı, adın etrafında çift tırnak kullanın, örneğin:
select "from" from "table";
Not: Dahili olarak PostgreSQL, sıralanmamış tüm komutları ve parametreleri otomatik olarak küçük harfe dönüştürür. Komutların ve tanımlayıcıların büyük / küçük harfe duyarlı olmaması etkisi vardır. tAblE'den sEleCt *; tablodan select * olarak yorumlanır ; . Ancak, çift tırnak içindeki parametreler olduğu gibi kullanılır ve bu nedenle büyük / küçük harfe duyarlıdır: "tablo" dan * seçin; ve "Tablo" dan * seçin; sonucu iki farklı tablodan alır.
Bunu yapmanın iki yolu şunlardır:
TableName 'dan' SEÇ
SELECT TableName.from FROM TableName
Sorunuz burada iyi yanıtlanmış gibi görünüyor, ancak bu konuya bir yorum daha eklemek istiyorum.
Veritabanını tasarlayanlar ayrılmış anahtar kelimelerin farkında olmalı ve bunları kullanmaktan kaçınmalıdır. Kullanan birini keşfederseniz, onları (kibar bir şekilde) bilgilendirin. Buradaki anahtar kelime ayrılmış kelimedir.
Daha fazla bilgi:
"Ayrılmış anahtar kelimeler nesne adı olarak kullanılmamalıdır. SQL Server'ın önceki sürümlerinden yükseltilen veritabanları, önceki sürümde ayrılmış olmayan ancak SQL Server'ın geçerli sürümü için ayrılmış sözcükler içeren tanımlayıcılar içerebilir. nesne, ad değiştirilinceye kadar sınırlandırılmış tanımlayıcılar kullanarak. " http://msdn.microsoft.com/en-us/library/ms176027.aspx
ve
"Veritabanınız ayrılmış anahtar kelimelerle eşleşen adlar içeriyorsa, bu nesnelere başvururken sınırlandırılmış tanımlayıcılar kullanmanız gerekir. Daha fazla bilgi için bkz. Tanımlayıcılar (DMX)." http://msdn.microsoft.com/en-us/library/ms132178.aspx
SQL Server kullanıyorsanız, köşeli parantezleri sütun veya tablo adının etrafına sarabilirsiniz.
select [select]
from [table]
Ben de bu sorunla karşılaştım. Bunun çözümü de [Column_Name] sorgusunu sorguya koymaktır.
string query= "Select [Name],[Email] from Person";
Bu yüzden mükemmel bir şekilde çalışacaktır.
Merhaba ben tamamen ANSI uyumlu Teradata sistemleri üzerinde çalışıyorum. Bu tür sütunları adlandırmak için çift tırnak işareti "" kullanın.
Örn. type
SQL ayrılmış bir anahtar kelimedir ve tırnak işaretleri içinde kullanıldığında type
kullanıcı tarafından belirtilen ad olarak değerlendirilir.
Aşağıdaki kod örneğine bakın:
CREATE TABLE alpha1
AS
(
SEL
product1
type_of_product AS "type"
FROM beta1
) WITH DATA
PRIMARY INDEX (product1)
--type is a SQL reserved keyword
TYPE
--see? now to retrieve the column you would use:
SEL "type" FROM alpha1
Sütun adınızı aşağıdaki gibi parantez içine alabilirsiniz:
Select [from] from < ur_tablename>
Veya
Bir geçici tablo koyun ve sonra istediğiniz gibi kullanın.
Misal:
Declare @temp_table table(temp_from varchar(max))
Insert into @temp_table
Select * from your_tablename
Burada sadece sizin_tablename sadece bir sütun (yani) içerdiğini varsayalım.
[from]
var olan tek sütun olduğunu varsayar your_tablename
.
"[Total]"
? Ya da belki ondan kaçmanın bir yolu var [\[Total\]]
mı?
Anahtar kelime olan bir sütunu güncellemeye çalışırken de aynı sorunla karşılaştım . Yukarıdaki çözüm bana yardımcı olmadı. Sadece tablonun adını şöyle belirterek çözdüm:
UPDATE `survey`
SET survey.values='yes,no'
WHERE (question='Did you agree?')
Aşağıdakiler mükemmel bir şekilde çalışacaktır:
SELECT DISTINCT table.from AS a FROM table
MySQL'de, geri tırnak işaretleri (`) kullanmaya alternatif olarak, sütun adlarını değiştirmek için kullanıcı arayüzünü kullanabilirsiniz. Tablo> Tabloyu değiştir> sql anahtar sözcüğünü içeren sütun adını düzenle> Tamam'ı sağ tıklayın.
select [from] from <table>
Not olarak, yukarıdakiler MySQL'de çalışmaz
Buradaki cevaplara ve kendi tecrübelerime bakılırsa. Kabul edilebilir tek yanıt, taşınabilir olmayı planlıyorsanız tablo, sütun veya diğer adlar için SQL anahtar sözcükleri kullanmayın.
Tüm bu yanıtlar çeşitli veritabanlarında çalışır, ancak görünüşe göre çok fazla ANSI çözümünü desteklememektedir.
SELECT "from" FROM TableName
, güzel ve taşınabilir!