Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
AXS
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150
1

Запрос выборки по разным полям, а результат в одну таблицу

31.08.2012, 16:54. Просмотров 1432. Ответов 13
Метки нет (Все метки)

Есть такой запрос например
SQL
1
2
3
4
SELECT ALL Фамилия, Имя, Отчество, Страна
INTO [Страны]
FROM [данные]
WHERE Страна = 'Армения'
Вопрос: как сделать чтобы была выборка по разным странам, а результат шёл в одну таблицу "страны"?
Что-то вроде
SQL
1
2
3
4
5
6
SELECT ALL Фамилия, Имя, Отчество, Страна
INTO [Страны]
FROM [данные]
WHERE Страна = 'Армения'
WHERE Страна = 'Россия'
но, оптимизированно, т.к. может быть много стран
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2012, 16:54
Ответы с готовыми решениями:

Запрос.в одну таблицу
O_o походу уже приехал...сижу в ступоре! - подсчитайте общее количество...

Разделить результат выборки SQL
День добрый столкнулся с интересной задачкой не могу придумать как ее решить. ...

Запрос выборки данных
Помогите пожалуйста с запросом, не получается сделать( 1. Вывести информацию о...

sql запрос выборки
Всем привет! Помогите пожалуйста с запросом, никак не получается(...

Тормозят выборки из базы, имеющей таблицу с файлами.
Существует база, в которой есть таблица, содержащая поле типа IMAGE, в котором...

13
pincet
1328 / 916 / 123
Регистрация: 23.07.2010
Сообщений: 4,984
31.08.2012, 17:08 2
T-SQL
1
WHERE [Страна] IN (N'Гондурас', N'Россия',N'Армения')
1
AXS
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150
02.09.2012, 19:27  [ТС] 3
Я так понимаю результат этого запроса будет таблица со всеми перечисленными странами. А мне нужно чтобы в зависимости от выбранной страны в comboBox на форме в WindowsForm(например Россия) по этому запросу получалась таблица, в которой только Россия. И так далее: выбираем Грузию и формируется список, только с Грузией. Как это сделать? Как должен выглядеть запрос? И как связать запрос с записями в comboBox?
0
pincet
1328 / 916 / 123
Регистрация: 23.07.2010
Сообщений: 4,984
02.09.2012, 19:33 4
Параметрические запросы спасут отца русской демократии.
для шарпа курим CreateCommand и Parameters
0
AXS
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150
02.09.2012, 19:39  [ТС] 5
а если в C#?
0
pincet
1328 / 916 / 123
Регистрация: 23.07.2010
Сообщений: 4,984
02.09.2012, 19:44 6
Цитата Сообщение от AXS Посмотреть сообщение
а если в C#?
Цитата Сообщение от pincet Посмотреть сообщение
для шарпа курим CreateCommand и Parameters
?????
1
AXS
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150
02.09.2012, 19:48  [ТС] 7
Ага, а можно как-то на примере? Я только начинаю изучать всю эту кухню...
0
pincet
1328 / 916 / 123
Регистрация: 23.07.2010
Сообщений: 4,984
02.09.2012, 19:53 8
Вот кусок - для FireBird (посему - OleDB). Разбирайся.
C#
1
2
3
4
5
6
7
8
9
10
11
 OleDbConnection con = new OleDbConnection(Properties.Settings.Default.ConnectionString);
                con.Open();
                OleDbCommand cmd = con.CreateCommand();
                cmd.CommandText = "select ID_STAFF,LAST_NAME from STAFF --where LAST_NAME like 'Кре%' order by LAST_NAME";
                OleDbDataReader rdr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
                OleDbCommand cmdUpd = con.CreateCommand();
                cmdUpd.CommandText = "Update STAFF set LAST_NAME=:ln, FIRST_NAME=:fn, MIDDLE_NAME=:mn where ID_STAFF=:id_s";
                cmdUpd.Parameters.Add("ln", OleDbType.VarChar, 80);
                cmdUpd.Parameters.Add("fn", OleDbType.VarChar, 80);
                cmdUpd.Parameters.Add("mn", OleDbType.VarChar, 80);
                cmdUpd.Parameters.Add("id_s", OleDbType.Integer);
1
AXS
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150
02.09.2012, 20:10  [ТС] 9
А можете пояснить вот эти строчки:
C#
1
2
3
4
5
"select ID_STAFF,LAST_NAME from STAFF --where LAST_NAME like 'Кре%' order by LAST_NAME";
 
"Update STAFF set LAST_NAME=:ln, FIRST_NAME=:fn, MIDDLE_NAME=:mn where ID_STAFF=:id_s";
 
"ln", OleDbType.VarChar, 80
0
pincet
1328 / 916 / 123
Регистрация: 23.07.2010
Сообщений: 4,984
02.09.2012, 20:15 10
2- обычная выборка
4 - как раз и есть параметрический запрос, :=ln параметр. Параметры задаются для OleDbCommand с указанием имени , типа и длины.
0
AXS
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150
02.09.2012, 20:28  [ТС] 11
Получается запрос пишется сразу в С#, а не в SQL Server?
0
pincet
1328 / 916 / 123
Регистрация: 23.07.2010
Сообщений: 4,984
02.09.2012, 20:39 12
Правильнее логику на сервер перенести (если возможно). В этом случае изучаем хранимые процедуры и их вызов из клиентского приложения
0
AXS
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150
02.09.2012, 21:52  [ТС] 13
А можно пример как это делается? Первый раз сталкиваюсь...
0
pincet
1328 / 916 / 123
Регистрация: 23.07.2010
Сообщений: 4,984
03.09.2012, 10:19 14
Пример хранимки с параметром
spTest

T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
 
CREATE PROCEDURE [dbo].[spTest] 
    -- Add the parameters for the stored procedure here
    @Par1 nvarchar(50)
    
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
 
    -- Insert statements for procedure here
    SELECT * from table_9 where descr=@Par1
END
0
03.09.2012, 10:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2012, 10:19

Запрос, делающий выборку из выборки
Здравствуйте,помогите пожалуйста написать запрос. Нужно сделать выборку...

написать запрос в sql managment studio, выборки
Одна группа изучает несколько дисциплин и одна дисциплина может преподавать-...

Как "повернуть на бок" результат выборки ?
Всем лучи добра. При отработке SELECT получается некая таблица , в которой три...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru