![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить записи с единственным значением поля? [Access]
Ш-К © (2007-03-02 03:58:00)Есть таблица table1 (f1, f2, f3).
Надо получить все те записи, где значение у поля f1 встречается один раз.
~SerJant~ (2007-03-02 10:48:00) [1]немного проще )))
SELECT f1, f2, f3
FROM table1 t
WHERE (select count(t1.f1) from table1 t1 where t1.f1 = t.f1)=1
Atanas (2007-03-02 08:36:00) [2]Прошу прощения, вот так
SELECT f1, f2, f3
FROM table1
WHERE f1 IN
(
SELECT f1
FROM table1
GROUP BY f1
HAVING Count(f1)=1
)
А вот этот вариант работать не будет
SELECT f1, f2, f3
FROM table1
GROUP BY f1
HAVING Count(f1)=1
Потому, все что не в group by должно быть агрегатными функциями а у тебя там поля f2 и f3
Atanas (2007-03-02 08:33:00) [3]В предыдущем варианте замени t1 на f1 т.е.
SELECT f1, f2, f3
FROM table1
WHERE t1 IN
(
SELECT f1
FROM table1
GROUP BY f1
HAVING Count(f1)=1
)
И все работает
Ш-К (2007-03-02 06:01:00) [4]У меня был такой вариант, только неправилиный )
ЮЮ (2007-03-02 05:39:00) [5]SELECT f1, f2, f3
FROM table1
WHERE t1 IN
(
SELECT f1
FROM table1
GROUP BY f1
HAVING Count(f1)=1
)
Ш-К (2007-03-02 05:06:00) [6]Нашел:
SELECT f1, Min(f2), Min(f3)
FROM table1
GROUP BY f1
HAVING Count(f1)=1
А так не работает:
SELECT f1, f2, f3
FROM table1
GROUP BY f1
HAVING Count(f1)=1