请参阅下面的 DDL:
create table Door_Supervisors (DID int not null, Name varchar(30))
create table general_log (id int not null, Notes varchar(100))
INSERT INTO Door_Supervisors values (1,'ian')
INSERT INTO Door_Supervisors values (2,'Mark')
INSERT INTO General_Log values (1, 'This is a Test 1127678 DID: 000001 DId: 000010')
我想返回 General_Log 中提到的所有门主管,即提到 1(如 000001)。256 将是:000256。在上述数据的情况下,语句应返回 DID1 而不是 DID2。我相信我可以使用 EXISTS 语句。一些变化:
SELECT Door_Supervisors.* FROM Door_Supervisors WHERE EXISTS (SELECT * FROM General_Log WHERE Notes LIKE '%DID:' + RIGHT('000000' + Door_Supervisors.DID,6) + '%')