Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

SQL - обращение к полю по его имени   Найти похожие ветки 

 
TopLodger   (2004-03-10 18:19) [0]

Здравствуйте. Подскажите, пожалуйста, можно ли в SQL-запросе использовать что-то такое типа FieldByName("FieldName2") дельфовского. В общем, обращаться к какому-нибудь полю через переменную, в которой храниться имя поля, а не обычное "SELECT FieldName2 FROM myTable".


 
Mike Kouzmine ©   (2004-03-10 19:46) [1]

Можно. После обычного "SELECT FieldName2 FROM myTable".


 
TopLodger   (2004-03-10 19:51) [2]

Как после обычного? Есть необходимость так оформить запрос:

DECLARE @FieldName varchar(10)
SET @FieldName = "FieldName2"

SELECT FieldByName(@FieldName)
FROM myTable

Вот я и спрашиваю - есть ли эквивалент FieldByName в SQL?


 
panov ©   (2004-03-10 20:10) [3]

var
 FName: String;
 Res: String;
begin
 FName := "FieldName2";
 Query1.SQL.TExt := "SELECT "+FName+" FROM MyTable";
 Query.Open;
 Res := Query1.FieldByName(FName).AsString;


 
ZrenBy ©   (2004-03-10 21:18) [4]

use pubs

declare @Field nvarchar(100) set @Field="au_id"
declare @SQL   nvarchar(4000)

set @SQL = "select "+@Field+" from authors"

exec sp_executesql @SQL


И еще
http://www.sql.ru/faq/faq_topic.aspx?fid=104


 
TopLodger   (2004-03-11 09:55) [5]

4 ZrenBy Спасибо большое!


 
SergSuper   (2004-03-11 10:33) [6]

2 TopLodger
Такие желания обычно возникают при неправильно спроектированной БД


 
TopLodger   (2004-03-11 11:02) [7]

2 SergSuper
Так оно в принципе и есть. На сегодняшний момент нет возможности переделать структуры, но выход из создавшегося положения с помощью вышеуказанного решения ИМХО достаточно грамотный.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.038 c
14-1082296866
q13
2004-04-18 18:01
2004.04.11
задача:распределить число между элементами массива


14-1079550961
Nekto
2004-03-17 22:16
2004.04.11
Dos ???


1-1082458886
Nemra
2004-04-20 15:01
2004.04.11
FastReport


6-1075720629
__boolean
2004-02-02 14:17
2004.04.11
Систмы передачи данных. Help


1-1080196979
X9
2004-03-25 09:42
2004.04.11
Ошибка при вызове функции из DLL.