Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > .NET > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 03.12.2011, 17:10   #1
IlyaXXX
 
Регистрация: 13.10.2011
Сообщений: 5
По умолчанию Простенький запрос

Есть 2 таблицы (на самом деле их 3 но 3-я здесь не нужна) с полями
1)Tags
-ID
-Name
2)EvensTags
-ID
-TagID

Нужно определить сколько записей есть по имени тэга
Делаю вот такой запрос

SELECT ID
FROM EventTags
WHERE Tags.ID=TagID AND Tags.Name=@Name

Подскажите плиз че делаю не так
IlyaXXX вне форума Ответить с цитированием
Старый 04.12.2011, 14:37   #2
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Сообщений: 276
По умолчанию

По идеи, запрос должен быть таким:

SELECT COUNT(*) FROM EventTags WHERE TagID = 'тут ID нужного тэга'
#include <мозг.h>
Руслантус вне форума Ответить с цитированием
Старый 04.12.2011, 17:52   #3
IlyaXXX
 
Регистрация: 13.10.2011
Сообщений: 5
По умолчанию

Спс все работает но хотелось бы не по ID тэга искать количество записей, а по названию
IlyaXXX вне форума Ответить с цитированием
Старый 04.12.2011, 18:29   #4
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Сообщений: 276
По умолчанию

Для этого вам сначала нужно найти по Названию тэг, потом по его Ид искать уже остальные данные. Так будет правильно.
#include <мозг.h>
Руслантус вне форума Ответить с цитированием
Старый 04.12.2011, 19:06   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,540
По умолчанию

Код:
select count(*)
from EventTags
inner join Tags on (tags.ID = EvensTags.tagID)
where (Tags.Name = @Name)
pu4koff вне форума Ответить с цитированием
Старый 05.12.2011, 00:43   #6
IlyaXXX
 
Регистрация: 13.10.2011
Сообщений: 5
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Код:
select count(*)
from EventTags
inner join Tags on (tags.ID = EvensTags.tagID)
where (Tags.Name = @Name)
Не работает. Всем спс помогли на другом форуме. Нужен был запрос вида
Код:
SELECT COUNT(TA.ID) 
FROM Tags TA
LEFT join EvensTags ET ON TA.ID = ET.TagID
WHERE TA.Name = @Name
IlyaXXX вне форума Ответить с цитированием
Старый 05.12.2011, 12:44   #7
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,540
По умолчанию

Цитата:
Сообщение от IlyaXXX Посмотреть сообщение
Не работает. Всем спс помогли на другом форуме. Нужен был запрос вида
Код:
SELECT COUNT(TA.ID) 
FROM Tags TA
LEFT join EvensTags ET ON TA.ID = ET.TagID
WHERE TA.Name = @Name
Не уверен, что left join тут уместен. Попробуйте на теге, для которого нет ни одного события.
pu4koff вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простенький вопрос по js GreenMachine JavaScript, Ajax 2 11.10.2011 14:40
Простенький браузер Ponkole Работа с сетью в Delphi 2 23.06.2011 20:17
Простенький (не для меня) запрос =) MiK5eR Microsoft Office Access 0 23.05.2011 15:04
Простенький клас Chartvit Общие вопросы C/C++ 2 07.01.2010 20:43
простенький запрос odi_noki Microsoft Office Access 9 28.11.2008 20:37


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS