Bạn nên sử dụng điều kiện OR / AND:
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;
Hãy xem OR (Transact-SQL) trên MS-Docs.
Tôi đã thiết lập một ví dụ:
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
worker_id | Tên nhân viên
: ---------- | : --------------
emp10 | Bryan Nelson
emp12 | Sandalyn Sanders
emp13 | Hoa hồng
emp30 | Ian McGregor
Hãy nhớ rằng bạn đang sử dụng TOP 1, bạn sẽ nhận được tối đa một hàng, bất kể bạn sử dụng bao nhiêu điều kiện.
SELECT TOP 1 employee_id, employee_name
FROM employees
WHERE employee_id LIKE 'emp1%'
OR employee_id LIKE 'emp3%';
GO
worker_id | Tên nhân viên
: ---------- | : ------------
emp10 | Bryan Nelson
Nếu bạn cần các hàng TOP (X) WHERE employee_id LIKE 'emp1%'
cộng với các hàng TOP (X), WHERE employee_id LIKE 'emp3%'
bạn có thể sử dụng hai câu lệnh chọn được nối với UNION ALL.
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
worker_id | Tên nhân viên
: ---------- | : --------------
emp10 | Bryan Nelson
emp12 | Sandalyn Sanders
emp13 | Hoa hồng
emp30 | Ian McGregor
Ngoài ra, tôi sẽ thêm tìm kiếm mẫu, nhưng giải pháp này trả về tất cả các bản ghi khớp với mẫu: THÍCH 'emp [13]%'
SELECT employee_id, employee_name
FROM employees
WHERE employee_id LIKE 'emp[13]%'
GO
worker_id | Tên nhân viên
: ---------- | : --------------
emp10 | Bryan Nelson
emp12 | Sandalyn Sanders
emp13 | Hoa hồng
emp30 | Ian McGregor
dbfiddle ở đây