Структура таблицы для этого вопроса:
TABLE Roster; FIELDS {IDNum},{FavChs},{2ndFavChs},{3rdFavChs}
Я пытаюсь определить, сколько записей имеют одинаковое значение в одном из трех полей. Если я просто смотрю в один столбец, это просто:
Select FavChs, Count(IDNum)
FROM Roster
WHERE FavChs is not null
Group by FavChs
Однако мне нужно проверить, найдено ли такое же значение в любом из трех полей для других записей. Неважно, в каком поле он находится, просто в одном из них. Поэтому, если бы таблица была:
| IDNum | FavChs | 2ndFavChs | 3rdFavChs |
|-------|--------|-----------|-----------|
| 1 | Swiss | Brie | Feta |
| 2 | Swiss | Feta | Cheddar |
| 3 | Cheddar| Swiss | Cheddar |
| 4 | Feta | Swiss | (null) |
| 5 | Feta | (null) | (null) |
| 6 | Brie | Cheddar | (null) |
| 7 | Swiss | Swiss | Swiss |
| 8 | Swiss | Brie | Cheddar |
, мне нужно было бы показать результаты:
| Cheese | Count |
|--------|-------|
| Brie | 3 |
| Cheddar| 4 |
| Feta | 4 |
| Swiss | 6 |