PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Последователности със съставен първичен ключ

INSERT INTO [users]
(business_id, id)
FROM
(
SELECT 
ID - (SELECT MIN(ID) FROM [users] WHERE business_ID = B.ID) AS business_id
,(SELECT MAX(ID)+1 FROM [users] WHERE business_ID = B.ID) AS ID
FROM [businesses] B
)

ако свържете това с новите записи, които добавяте, трябва да предостави съставния ключ

Нова актуализация:

INSERT INTO [users]
(business_id, id, name)
VALUES
(
3
,ISNULL((SELECT MAX(ID)+1 FROM [users] WHERE business_ID = 3),1) AS ID
,'d'
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изпълнението на SQL скрипт през psql дава синтактични грешки, които не се появяват в PgAdmin

  2. Как да вмъкна в таблица от друга таблица чрез съпоставяне на стойности?

  3. SQL Вземете всички записи, по-стари от 30 дни

  4. Подобрете производителността на заявките за агрегиране на PostgresSQL

  5. Итериране през записи на PostgreSQL. Как да препратка към данни от следващия ред?