考慮下面的模式選擇記錄:所有加盟相匹配的行
employees
id | name
employee_attributes
id | employee_id | key | value
我想選擇具有所提供的屬性,所有員工。
下面的語句的工作原理:
SELECT employees.* FROM employees
INNER JOIN employee_attributes ON employee_attributes.employee_id = employees.id
WHERE employee_attributes.key = 'foo' AND employee_attributes.value = 'bar'
,但只允許我用一個屬性來查找僱員。我如何適應這一點,以通過多個屬性檢索員工?
要清楚,如果我提供套的屬性來匹配的,查詢應只返回具有至少這兩個屬性員工。
例如,如果Bob,只有一個屬性:
key | value
===========
foo | bar
但我提供兩個屬性查詢(foo
和bar
,bin
和baz
),鮑勃應該不予退還。
這會使員工只返回一個鍵值對。 –
@DarshanMehta我更新了我的答案。 –