Задавайте вопросы, мы ответим
Вы не зашли.
Задача: на сайте выводится таблица из двух колонок - фамилия и зарплата. Также есть выпадающие списки с 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)
Неактивен
1. Неверный синтаксис. @pp - это пользовательская переменная. Локальные переменные которые определяются в хп после слова declare без знака @.
2. Не уверен, что правильно понял ваш вопрос. Что означает запись [Attr1]?
Неактивен
Я определяю пользовательскую переменную. Хочу присвоить ей не определенное значение, а набор значений Column name (атрибута, флага) и т.п. И работать с данной переменной как с обычным атрибутом, Это возможно?
P.S. Извиняюсь, если неправильно сформулировал наименование @pp в тексте вопроса - я имел ввиду пользовательскую переменную, которую я сам декларирую
Неактивен
Нельзя.
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
Неактивен