Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
Добрый вечер господа!
1)Так как я только не волшебник, а только учусь, то подскажите пожалуйста примеры SQL, так что бы с условиями. В особенности интересуют подзапросы с LEFT JOIN.
Однако буду рада всем примерам!
2) Как вычисляется возраст, если есть дата рождения.То есть ли специальная функция, если нет, то как это сделать?
3)если с таблицы нужно вывести только дубликаты, при условии, что стобец1 и столбец2 совпадают, то можно написать
select*
from таблицы
where стобец1 =стобец2
4) как вывести все записи кроме последней?
select*
from таблицы
where ??? есть ли специальная функция?
Спасибо большое :)
9 сен 11, 21:57    [11257058]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
VikVikVik,
1. Тут весь форум в примерах. Читайте или воспользуйтесь поиском. Для обучения TSQL могу посоветовать изучение BOL или можете на sql-ex сходить попрактиковаться.
2. Очевидно, что отняв от текщей даты дату рождения можно получить возраст. Функции работы с датами описаны в BOL
3. Этот запрос не выберет дубликаты. Он выберет записи с равными столбец1 и столбец2
4. Почитайте про оконные функции.
9 сен 11, 22:30    [11257161]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Что такое BOL
10 сен 11, 09:17    [11257903]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
Knyazev Alexey,
Спасибо )
10 сен 11, 14:57    [11258273]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
VikVikVik,

4) что такое "последняя запись таблицы"?
10 сен 11, 16:01    [11258391]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
iap,

4) последняя запись-запись, котораябыла занесена последней.

Есть табл1 (ФИО,Дата роджд,Пасп, Дата занесения)

правильно ли будет?

select *
from табл1
where Дата занесения IS NOT MAX(Дата занесения)
ORDER BY Дата занесения comn ASC


Или так нельзя, если нет, то как правильно написать?
10 сен 11, 18:32    [11258685]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
VikVikVik
iap,

4) последняя запись-запись, котораябыла занесена последней.

Есть табл1 (ФИО,Дата роджд,Пасп, Дата занесения)

правильно ли будет?

select *
from табл1
where Дата занесения IS NOT MAX(Дата занесения)
ORDER BY Дата занесения comn ASC


Или так нельзя, если нет, то как правильно написать?
select top 1 *
from  табл1 
ORDER BY  Дата занесения comn DESC
10 сен 11, 18:37    [11258695]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
alexeyvg, скажите , а если бы
две последние с макс датой--------------- select top 2 *
если бы первые две----------------------- select top 2
?
Спасибо
10 сен 11, 18:55    [11258736]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
alexeyvg,
да еще такой вопрос, а если нужно вывести только дубликаты, то есть повторяющиеся ФИО
10 сен 11, 19:04    [11258762]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
VikVikVik,
еще вопросик
есть таблица1 (№п.п, а,в) нужно вывести кол-во записей, для которых с>200 где с=a-b
следущее верно?
SELECT COUNT(a-b) AS c
FROM таблица1
WHERE c>200

спасибо
10 сен 11, 19:10    [11258779]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
step_ks
Member

Откуда:
Сообщений: 936
VikVikVik
VikVikVik,
еще вопросик
есть таблица1 (№п.п, а,в) нужно вывести кол-во записей, для которых с>200 где с=a-b
следущее верно?
SELECT COUNT(a-b) AS c
FROM таблица1
WHERE c>200

спасибо

А хотя бы попробовать выполнить разок? Вы наугад чтоли пишете?
10 сен 11, 19:20    [11258804]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
step_ks,

ага на угад не могу поставить на домашнем :(
10 сен 11, 19:21    [11258807]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
iljy
Member

Откуда:
Сообщений: 8711
VikVikVik
alexeyvg, скажите , а если бы
две последние с макс датой--------------- select top 2 *
если бы первые две----------------------- select top 2

С одинаковой максимальной датой? Или с разной? Можно делать через TOP с разными ORDER BY, можно через ROW_NUMBER или RANK или DENSE_RANK.
VikVikVik
alexeyvg,
да еще такой вопрос, а если нужно вывести только дубликаты, то есть повторяющиеся ФИО

GROUP BY + COUNT + HAVING
ROW_NUMBER

VikVikVik
step_ks,

ага на угад не могу поставить на домашнем :(

А что мешает?
10 сен 11, 19:53    [11258914]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
так дело в том что мне нужны все данные кроме последней,
а select top 1 * выводит только последнюю
11 сен 11, 00:12    [11259642]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
VikVikVik
так дело в том что мне нужны все данные кроме последней,
а select top 1 * выводит только последнюю
;with t as
(
 select  top (1)
  ФИО, [Дата роджд], Пасп, [Дата занесения] from табл1
 order by
  [Дата занесения] desc
)
select ФИО, [Дата роджд], Пасп, [Дата занесения] from табл1
except
select ФИО, [Дата роджд], Пасп, [Дата занесения] from t;
11 сен 11, 00:27    [11259676]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
invm,

не пойму почему моя версия не работает((( и тот запрос, что написали вы почему-то выполняется очень долго и не работает тоже.
обизательно ли с with?

select *
from battles

except

select top (1) *
from battles
order by [date] asc;
11 сен 11, 13:26    [11260230]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
VikVikVik, учебные задачи sql-ex надобно решать самостоятельно.
11 сен 11, 13:34    [11260249]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
iljy
Member

Откуда:
Сообщений: 8711
VikVikVik
invm,

не пойму почему моя версия не работает((( и тот запрос, что написали вы почему-то выполняется очень долго и не работает тоже.
обизательно ли с with?

select *
from battles

except

select top (1) *
from battles
order by [date] asc;

А задачи с sql-ex надо решать самостоятельно.
11 сен 11, 13:34    [11260251]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
iljy,

Ну и не надо
Выкладываю свой вариант. Но работает правильно. Может таким несчасным как я пригодиться

select *from battleswhere [date] <> (select max([date]) from battles)
11 сен 11, 13:46    [11260271]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
VikVikVik, за публикацию условий задач или решений (по большей мере это, конечно, касается рейтингового этапа) вы можете быть заблокированны на sql-ex, прочтите правила и учитывайте это.

С другой стороны - множество людей проходят обучение на sql-ex, большинству достаточно документации, подсказок и FAQ, чтобы решить задачу. Но возможна и "помощь зала" в виде обращения к разработчикам. В любом случае на sql.ru не приветствуются вопросы по sql-ex. (Даже если) / (Особенно если) их хитрожопо маскировать вида:
select ФИО, [Дата роджд], Пасп, [Дата занесения] ...
11 сен 11, 14:05    [11260296]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
kDnZP,

Ладно простите, учту )))
11 сен 11, 14:08    [11260304]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
VikVikVik
не могу поставить на домашнем :(


А пытались хоть? У Экспресса (SQL SErver Express, бесплатный на 100%) требования к железу ну очень минимальны.
11 сен 11, 15:33    [11260417]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
SamMan, да я установила настройки 2005. (((
поскажите сайтик где можно скачать версию с минимальными возможностями, а то нужно сделать задания, а я сижу в этом sql/ex и подгоняю свои задания под их названия столбцов и под их базі. и названия и логику и пітаюсь что-то проверить.
Буду очень благодарна.
11 сен 11, 21:40    [11261167]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
step_ks
Member

Откуда:
Сообщений: 936
VikVikVik

поскажите сайтик где можно скачать версию с минимальными возможностями,

Microsoft® SQL Server® 2008 R2 с пакетом обновления 1 (SP1) — Express Edition

VikVikVik
а то нужно сделать задания, а я сижу в этом sql/ex и подгоняю свои задания под их названия столбцов и под их базі. и названия и логику и пітаюсь что-то проверить.
Буду очень благодарна.

Весело там у вас!
11 сен 11, 22:26    [11261352]     Ответить | Цитировать Сообщить модератору
 Re: примеры SQL 2005 и 2008  [new]
VikVikVik
Member

Откуда:
Сообщений: 189
step_ks,

Оно скачалось и даже вижу в программныйх файлах. А что дальше делать не пойму...
12 сен 11, 08:54    [11262045]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить