Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];

Вниз

Классическая ситуация   Найти похожие ветки 

 
Grrey   (2002-07-02 18:46) [0]

Есть таблица:
Table1 (ID, Field1, Field2)

Нужно получить количество строк с одинаковым Field1 и разными Field2.
Я делаю так:
SELECT COUNT(A.ID) FROM TABLE1 A, TABLE1 B
WHERE
(A.ID<>B.ID) AND
(A.FIELD1=B.FIELD1) AND
(A.FIELD1<>B.FIELD2)


 
Val   (2002-07-02 18:59) [1]

поздравляю :)
только нет вопроса и неясно условие: что выводить, если у нас, допустим, пять строчек удовлетворяет условию, но поле1 имеет одно значение, и еще семь строчек, тоже удовлетворяющих, но значение поля1 другое?


 
Grrey   (2002-07-02 19:26) [2]

Если поле1 разное, то его уже не считать, а если одинаковое, то в зависимости от поля2 если поле2 одинаковое, то несчитать и наоборот.


 
Lola   (2002-07-02 19:40) [3]

Что-то непонятно, "Если поле1 разное, то...". А с чем оно "разное"? Само с собой? Уточни, с чем сравниваешь. Такие вопросы на ночь глядя... :))


 
Grrey   (2002-07-02 19:45) [4]

Да с собой!
Здесь только одна таблица!


 
Lola   (2002-07-02 22:46) [5]

А зачем? :( Если оно всегда будет равно само себе ? Да и ID зачем сравнивать?


 
Shaman   (2002-07-03 03:07) [6]

SELECT Field1, COUNT(ID) FROM Table1
GROUP BY Field1


 
DarkGreen   (2002-07-03 06:12) [7]

2 Shaman
Наверное следует добавить

HAVING Field1 <> Field2?


 
Val   (2002-07-03 10:19) [8]

>Grrey (02.07.02 19:45)
мда.. повторяю еще раз - уточните условие, что вы хотите получить, если данные имеют вид:
ID, Field1, Field2
1 1 2
2 1 3
3 2 5
4 2 6
5 2 2


 
Grrey   (2002-07-03 10:34) [9]

to Val> Результат запроса должен быть - 2, т.к. в первых 2-ух строчках Поле1 имеет одно значение, а ID и Поле2 - разные значит его надо считать, в остальных строках тоже Поле1 - одинаковое, а остальные - разные следовательно еще одно поле1 мы считаем.
Если окажется, что Поле1 встречается только с одним и темже Полем2, то его считать не следует
Поле1 и Поле2 разные типы данных и их сравнивать не имеет смысла.
to Lola> Для того и ID, чтоб с собой не сравнивала!


 
Grrey   (2002-07-03 10:40) [10]

Дошло!
Вот готовый запрос если кому интересно:
SELECT distinct(Field1), count(dISTINCT(Field2)) from Table1
group by Field1
having count(Field2)>1

только надо сумму по второму полю, но это дело техники



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
8-81387
Devid
2002-03-12 18:00
2002.07.25
Как заисать


1-81213
SPeller
2002-07-14 09:22
2002.07.25
Пристыковать TCanvas к TCustomPanel


1-81300
Alex_win
2002-07-11 14:51
2002.07.25
графика поворот изображения


1-81284
Владик_1
2002-07-11 16:44
2002.07.25
Нумерация строк в отчете(QReport)


3-81203
Boroda Oleg
2002-07-05 10:50
2002.07.25
Ошибки при сцеплении строк в процедурах под IB





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский