Sie sollten eine ODER / UND-Bedingung verwenden:
SELECT TOP (1)
employee_id, employee_ident, utc_dt, rx_dt
FROM employee
INNER JOIN employee_mdata_history
ON employee.ident = employee_mdata_history.employee_ident
WHERE employee_id like 'emp1%'
OR employee_id like 'emp3%'
ORDER BY rx_dt desc;
Schauen Sie sich OR (Transact-SQL) in MS-Docs an.
Ich habe ein Beispiel aufgestellt:
create table employees(employee_id varchar(10), employee_name varchar(100));
insert into employees values
('emp10', 'Bryan Nelson'),
('emp12', 'Rosalyn Sanders'),
('emp13', 'Rose Tudler'),
('emp20', 'Julio Gomez'),
('emp30', 'Ian McGregor'),
('emp40', 'Anne Hatt');
GO
SELECT employee_id, employee_name
FROM employees
WHERE employee_id LIKE 'emp1%'
OR employee_id LIKE 'emp3%';
GO
employee_id | Mitarbeitername
: ---------- | : --------------
emp10 | Bryan Nelson
emp12 | Rosalyn Sanders
emp13 | Rose Tudler
emp30 | Ian McGregor
Denken Sie daran, dass Sie TOP 1 verwenden. Sie erhalten maximal eine Zeile, unabhängig davon, wie viele Bedingungen Sie verwenden.
SELECT TOP 1 employee_id, employee_name
FROM employees
WHERE employee_id LIKE 'emp1%'
OR employee_id LIKE 'emp3%';
GO
employee_id | Mitarbeitername
: ---------- | : ------------
emp10 | Bryan Nelson
Wenn Sie die Zeilen TOP (X) WHERE employee_id LIKE 'emp1%'
und TOP (X) benötigen WHERE employee_id LIKE 'emp3%'
, können Sie zwei select-Anweisungen verwenden, die mit UNION ALL verknüpft sind.
SELECT TOP 3 employee_id, employee_name
FROM employees
WHERE employee_id LIKE 'emp1%'
UNION ALL
SELECT TOP 1 employee_id, employee_name
FROM employees
WHERE employee_id LIKE 'emp3%'
GO
employee_id | Mitarbeitername
: ---------- | : --------------
emp10 | Bryan Nelson
emp12 | Rosalyn Sanders
emp13 | Rose Tudler
emp30 | Ian McGregor
Außerdem füge ich eine Mustersuche hinzu, aber diese Lösung gibt alle Datensätze zurück, die dem Muster entsprechen: LIKE 'emp [13]%'
SELECT employee_id, employee_name
FROM employees
WHERE employee_id LIKE 'emp[13]%'
GO
employee_id | Mitarbeitername
: ---------- | : --------------
emp10 | Bryan Nelson
emp12 | Rosalyn Sanders
emp13 | Rose Tudler
emp30 | Ian McGregor
dbfiddle hier