2012-03-07 3 views
0

у меня есть дБ, как показано ниже: (к сожалению я не мог загрузить диаграмму)SQL-запрос, выбирая данные через 3 таблицы

группы таблицы:

grp_id smallint 
grp_name char(50) 

тип таблицы:

tp_id smallint 
tp_name char(50) 

элемент таблицы:

it_id int 
grp_id smallint 
tp_id smallint 

таблица элементов привязывается к таблице групп с помощью grp_id и привязывается к таблице типов через tp_id.

пользователя введите grp_name или grp_id, и я должен понимать, какой элемент имеет эту группу и добавить имена типов из них, от типа таблицы в checklistbox.

+0

r u ищет динамический sql? – Teja

+0

Опубликовать ur код, что hav u пытался .. – Teja

+0

Довольно стандартный запрос, что вы пробовали до сих пор? – sll

ответ

2
select it_id, tp_name 
from item 
inner join type on type.tp_id = item.tp_id 
inner join [group] on [group].grp_id = item.grp_id 
where [group].grp_id = @groupid or [group].grp_name = @groupname 
+0

+1 - Я бы изменил? к '@ groupid' и' @ groupname' соответственно, но только если OP использовал ADO.NET. – Jetti

+0

Вы имеете в виду что-то вроде этого? 'SqlCommand cmd = new SqlCommand (« ... », соединение); cmd.Parameters.AddWithValue ("@ sth", sth) .DbType = DbType.Int16; ' – rene

+0

@rene Возможно, вам стоит подумать о том, чтобы раскрыть основы SQL, см., Например, http://www.w3schools.com/sql/sql_join.asp Также возьмите хорошую книгу по ADO.NET. Он будет платить за себя очень скоро. –

Смежные вопросы