Clé primaire Relation de key étrangère avec différentes valeurs

Je veux créer une relation de key étrangère dans une table, mais la colonne que je veux donner relation a un caractère supplémentaire. Par exemple dans la key primaire si c'est PPL dans l'autre table (Foreignkey) c'est PPL.M. Quelqu'un pourrait-il me dire comment je peux donner une relation entre ces deux colonnes. Comment éviter le caractère supplémentaire.

Cordialement KK

Vous pouvez append une colonne calculée à la table référencée pour découper le caractère supplémentaire

 alter table tablea add coly as (subssortingng(colx,1,5)) persisted 

Puis referencez cette colonne à la place

 alter table tableb create constraint fk_tableb_colx foreign key (colx) references tablea(coly) 

Vous pouvez également utiliser un triggersur

 create sortinggger trg_tableb_fk_colx on tableb for insert, update as begin if exists(select 1 from inserted where inserted.colx not in(select subssortingng(colx, 1, 5) from tablea)) begin raiserror('violation of foreign key trg_tableb_fk_colx',16,1) end end 

Peut-être que vous devez créer une Foreign Key avec l'option NOCHECK

 ALTER TABLE dbo.child_table WITH NOCHECK ADD CONSTRAINT FK_childtable FOREIGN KEY (child_col) REFERENCES dbo.Parent_table(Parent_col)