Фильтр запроса OData $ с несколькими условиями

Я получил две таблицы

стол пациента

+----+-------------+-----+
| id | name        | age |
+----+-------------+-----+
|  1 | justin john |  49 |
|  2 | tim blake   |  51 |
+----+-------------+-----+

checkup table
+-----+------------+------------+
| cid | patient_id | date       |
+-----+------------+------------+
|   1 |          1 | 2016-11-02 |
|   2 |          2 | 2016-11-03 |
+-----+------------+------------+

я хочу объединить обе таблицы при следующем условии

SELECT patient.id, patient.name, patient.age, checkup.date FROM patient LEFT JOIN checkup ON patient.id = checkup.patient_id WHERE patient.age > 50 AND checkup.date = '2016-11-03'

Как я могу достичь вышеизложенного с фильтром OData $. Применяется ли $ filter только к пациенту из набора сущностей верхнего уровня?

2

Решение

Вы можете фильтровать связанные объекты, используя any а также all Фильтры, например, вот URL для примера служб OData TripPin, который показывает, как это можно использовать: http://services.odata.org/V4/TripPinServiceRW/People?$filter=UserName eq ‘russellwhyte’ и Trips / any (x: x / Name eq ‘Поездка в США’)

Этот URL-фильтр на UserName собственность Person и Name собственность связанных Trip

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]