Увеличивайте значение столбца на 1 при вставке..выберите соединение

У меня есть 3 таблицы table_1, table_2 и table_3.

Я пытаюсь вставить данные в table_3 (некоторые строки уже присутствуют в этой таблице) с соединением из table_1 и table_2.

table_3 has following columns:

unique_id  - its unique id needs to be increment by 1 from its last value
client_key - should get from table_1.client_key
xcolumn    - should get from table_2.xcolumn
xxcolumn   - this column value depend on table_3.xcolumn (below I mentioned which value should be here) 
         if table_3.xcolumn contains any of this value (purchase some things,purchase) xxcolumn should be PURCHASE 
         if table_3.xcolumn contains any of this value (cash advance,ATM,promo cashing) xxcolumn should be CASH
         if table_3.xcolumn contains any of this value (promo,promo deal) xxcolumn should be PROMO
         if table_3.xcolumn doest not contains any above value then xxcolumn should be OTHER
xycolumn   - this column value depend on table_3.xxcolumn (below I mentioned which value should be here)
         if table_3.xxcolumn is PURCHASE xycolumn should be 1 
         if table_3.xxcolumn is CASH xycolumn should be 2
         if table_3.xxcolumn is PROMO xycolumn should be 3
         if table_3.xxcolumn is OTHER xycolumn should be 4           
ycolumn    - should get from table_2.ycolumn

Я пробовал ниже запрос для вставки:

insert into table_3(unique_id,client_key,xcolumn,xxcolumn,xycolumn,ycolumn)  
select (select max(unique_id) + 1 from 
table_3),table_1.client_key,table_2.xcolumn,'cash',1,table_2.ycolumn from 
table_2  inner join table_1 on table_2.client_id=table_1.client_id;

но для unique_id я не могу увеличить его значение на 1 при присоединении, если получено более одной строки (увеличивается только один раз не для всех строк)

также я не могу понять, как получить значение xxcolumn, xycolumn.

для исх. Я создал скрипт sql с table_1, table_2,, table_3

http://sqlfiddle.com/#!9/8a48477/2

Почему вы не используете поля автоматического увеличения для своих первичных ключей? Запрос в вашем скрипте SQL не имеет смысла.

Sloan Thrasher 09.08.2018 15:50

Также ключи не должны иметь ведущих нулей.

Sloan Thrasher 09.08.2018 15:51

Таблица DDL уже определена, я не могу ее изменить, и unique_id не устанавливается автоматически при создании. вот почему я использую ручной подход

Ron 09.08.2018 15:55

@SloanThrasher Извини, нули?

Ron 09.08.2018 15:56

Невозможно изменить схему -> разогреть резюме.

Rick James 24.08.2018 22:01
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
5
211
0

Другие вопросы по теме