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;
見ていOR(のTransact-SQL) MS-ドキュメント上を。
私は例を設定しました:
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 | 従業員名
:---------- | :--------------
emp10 | ブライアンネルソン
emp12 | ロザリン・サンダース
emp13 | ローズタドラー
emp30 | イアン・マクレガー
TOP 1を使用していることに注意してください。使用する条件の数に関係なく、最大で1行を取得します。
SELECT TOP 1 employee_id, employee_name
FROM employees
WHERE employee_id LIKE 'emp1%'
OR employee_id LIKE 'emp3%';
GO
employee_id | 従業員名
:---------- | :------------
emp10 | ブライアンネルソン
TOP(X)行WHERE employee_id LIKE 'emp1%'
とTOP(X)行がWHERE employee_id LIKE 'emp3%'
必要な場合は、UNION ALLで結合された2つの選択ステートメントを使用できます。
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 | 従業員名
:---------- | :--------------
emp10 | ブライアンネルソン
emp12 | ロザリン・サンダース
emp13 | ローズタドラー
emp30 | イアン・マクレガー
さらに、パターン検索を追加しますが、このソリューションはパターンに一致するすべてのレコードを返します。LIKE 'emp [13]%'
SELECT employee_id, employee_name
FROM employees
WHERE employee_id LIKE 'emp[13]%'
GO
employee_id | 従業員名
:---------- | :--------------
emp10 | ブライアンネルソン
emp12 | ロザリン・サンダース
emp13 | ローズタドラー
emp30 | イアン・マクレガー
ここ dbfiddle