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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

Есть 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, 15:37   #2
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Адрес: Из холодного Новосибирска
Сообщений: 276
Репутация: 53
По умолчанию

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

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

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

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

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

Цитата:
Сообщение от 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, 13:44   #7
pu4koff
ПрофессионалФорумчанин
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,495
Репутация: 3616
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


19:06.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.