2015-06-05 3 views
1

У меня странная ситуация, с которой я пытаюсь справиться. В запросе mySQL SELECT мне нужно иметь поле, а не исходящее из базы данных, которое просто подсчитывает от 0 для каждой возвращенной записи.Оператор mySQL Select с общим добавочным значением

Справочной информации, я должен запросить таблицу адресов, которая в настоящее время выглядит следующим образом:

SELECT 
    addressID, 
    address_1, 
    address_2, 
    city, 
    state, 
    zipcode, 
    country, 
    county, 
    address_type 
FROM employee_address 
WHERE employee_id = 1234 

Каждая запись возвращается открывает новый экземпляр шаблона полой формы в Java, заселенный с адресом Информация.

Но мне нужно фиктивное поле, которое просто подсчитывает от 0 для каждой возвращенной записи, которая может быть назначена каждому шаблону как «индекс», который используется для ссылки позже в моем кодировании на питоне (без этого у меня нет индекс, который должен пройти в более поздней точке кода). Надеюсь, что-то вроде этого

SELECT 
    increment(0) AS templateID, 
    addressID, 
    address_1, 
    address_2, 
    city, 
    state, 
    zipcode, 
    country, 
    county, 
    address_type 
FROM employee_address 
WHERE employee_id = 1234 

И, к сожалению, у меня нет доступа, чтобы изменить код Java, чтобы просто дать шаблонам значение индекса. Печально, но верно.

ответ

1

использовать переменную:

SELECT 
    @idx:[email protected]+1 AS templateID, 
    addressID, 
    address_1, 
    address_2, 
    city, 
    state, 
    zipcode, 
    country, 
    county, 
    address_type 
FROM employee_address, (SELECT @idx:=-1) AS var 
WHERE employee_id = 1234 

templateID будет начинаться с 0, а затем будет увеличиваться на единицу для каждой записи, возвращаемой запросом.

+0

Я знал, что будет что-то более продвинутое, но понятия не имею, что искать. Спасибо, Гиоргос! – MicDunDee

Смежные вопросы