Конференция "Базы" » Помогите написать запрос, пожалуйста
 
  • Димон (15.09.09 09:40) [0]
    Мне нужно срочно вытащить данные из таблицы Person все записи со статусом 1, и при этом не брать те записи которые дублируются по полю Name.

    Например

    Name      | Status |
    -------------------
    Иванов   |  1        |
    Иванов   |  1        |
    Попов     |  1        |

    Мне нужно вытащить Попова, Иванова не нужно брать потому что есть дубли. Помогите плз, заранее спасибо.
  • Сергей М. © (15.09.09 09:43) [1]

    > не нужно брать потому что есть дубли


    SELECT DISTINCT...
  • Медвежонок Пятачок © (15.09.09 09:46) [2]
    иванов не нужен, он скрипач
  • Медвежонок Пятачок © (15.09.09 09:49) [3]
    select name,count(status)
    from table
    where status = 1
    group by name
    having count(status) = 1
  • Сергей М. © (15.09.09 09:49) [4]
    Или я не верно понял ?
    Ивановых следует вообще исключить из выборки ?

    Тогда

    SELECT Name //выьрать значения в поле Name
    FROM Person //из строк таблицы Person
    WHERE Status=1 //в которых значение поля Status равно 1
    GROUP BY Name //разбив записи на группы по признаку одинаковых значений в поле Name
    HAVING Count(Name)=1 //и отобрав из них только те группы, в которых по одной записи
  • Сергей М. © (15.09.09 09:51) [5]

    > SELECT Name, COUNT(Name)
  • Димон (15.09.09 10:01) [6]
    Спасибо большое, очень помогли :)
  • Anatoly Podgoretsky © (15.09.09 13:45) [7]
    Вопрос не по тематике конференции, здесь обсуждается программирование в Дельфи, а не SQL
 
Конференция "Базы" » Помогите написать запрос, пожалуйста
Есть новые Нет новых   [134473   +28][b:0][p:0]