SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 22.12.2013 22:36:02

Gvar
Участник
Зарегистрирован: 22.12.2013
Сообщений: 2

Пользовательские переменные

Задача: на сайте выводится таблица из двух колонок - фамилия и зарплата. Также есть выпадающие списки с 1) выбором значений месяца и года и 2) фамилий сотрудников. Можно ли написать запрос к базе данных, в котором будут выводится значения в зависимости от выбранных данных в выпадающем списке?   
Как я понимаю, надо создать свои пользовательские переменные. Но можно ли пользовательским переменным присвоить значения из таблицы (атрибут, флаг) с множеством значений?  И можно ли затем работать с ними как с Column name?

Например:

DECLARE @pp varchar
DECLARE @dt  varchar

SET @pp :=[Attr1]
SET @dt :=  [S1] - [S2]
SELECT R1 FROM table
WHERE r1 in (
CASE
WHEN @pp
THEN @dt
ELSE 'ABC'
END [Attr2]
FROM baza);





-- [Attr1] и [Attr2] имеет около 100 различных значений, тип varchar
-- [StartDate] и [EndDate] - набор значений дата формата 201312121

Отредактированно Gvar (23.12.2013 00:20:47)

Неактивен

 

#2 22.12.2013 22:46:43

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Пользовательские переменные

1. Неверный синтаксис. @pp - это пользовательская переменная. Локальные переменные которые определяются в хп после слова declare без знака @.

2. Не уверен, что правильно понял ваш вопрос. Что означает запись [Attr1]?

Неактивен

 

#3 22.12.2013 23:09:09

Gvar
Участник
Зарегистрирован: 22.12.2013
Сообщений: 2

Re: Пользовательские переменные

Я определяю пользовательскую переменную. Хочу присвоить ей не определенное значение, а набор значений Column name (атрибута, флага) и т.п.  И работать с данной переменной как с обычным атрибутом, Это возможно?
P.S. Извиняюсь, если неправильно сформулировал наименование @pp в тексте вопроса - я имел ввиду пользовательскую переменную, которую я сам декларирую

Неактивен

 

#4 22.12.2013 23:25:35

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Пользовательские переменные

Нельзя.

User variables can be assigned a value from a limited set of data types: integer, decimal, floating-point, binary or nonbinary string, or NULL value.


http://dev.mysql.com/doc/refman/5.0/en/ … ables.html

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson