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

Откуда:
Сообщений: 61
Здравствуйте уважаемые пользователи.
Есть вопрос который я не могу решить уже несколько дней. Данный вопрос вытекает из вот этой темы [url=]https://www.sql.ru/forum/1018083-1/pomoshh-v-napisanii-zaprosa-s-soedineniem-strok[/url] в которой я получил исчерпывающие ответы которые мне помогли.
Но возникла новая проблема с которой мне нужна помощь.

Начальные данные.

SQL диаграмма
Картинка с другого сайта.
И часть sql кода который мне помогли написать пользователи данного форума. (оптимизирован под Delphi)
  SELECT DISTINCT
    cust.customer_id,
    (RTRIM(
        LTRIM(
            STUFF(
                  (
                    SELECT
                        (
                        SELECT
                            ', ' + 
                            LTRIM(RTRIM(m.marka))
          	            FROM [isp_dog].[dbo].[markacust] mc
          	            LEFT JOIN [isp_dog].[dbo].[marka] m
                            ON m.marka_id = mc.marka_id
          	            WHERE mc.customer_id = cust.customer_id
                        FOR XML PATH(''), TYPE
                        ).value('.','varchar(8000)')
                  ), 1, 2, ''
                 )
         )
    ) + ', ' +
    RTRIM(
        LTRIM(
            STUFF(
                  (
                    SELECT
                        (
                        SELECT
                            ', ' + 
                            LTRIM(RTRIM(tt.test_type))
          	            FROM [isp_dog].[dbo].[test_type_cust] ttc
          	            LEFT JOIN [isp_dog].[dbo].[test_type] tt
                            ON tt.test_type_id = ttc.test_type_id
          	            WHERE ttc.customer_id = cust.customer_id
                        FOR XML PATH(''), TYPE
                        ).value('.','varchar(8000)')
                  ), 1, 2, ''
                 )
         )
    ) + ', ' + RTRIM(cust.comment)
   ) AS [marka, test_type, comment]
FROM [isp_dog].[dbo].[customer] cust
LEFT JOIN [isp_dog].[dbo].[contragents] ca
   ON  ca.contragents_id = cust.contragents_id
where cust.contragents_id like :c and (cust.datedog between :d1 AND :d2) and (cust.datechet between :s1 AND :s2)

И полученные данные.
Картинка с другого сайта.

А также данные заполнения таблиц.
Таблица Customers
Картинка с другого сайта.

Таблица marka
Картинка с другого сайта.

Таблица markacust
Картинка с другого сайта.

Таблица test_type
Картинка с другого сайта.

Таблица test_type_cust
Картинка с другого сайта.

Теперь пояснение
Как видно из полученных данных
Картинка с другого сайта.

Sql запрос выбирает из таблицы marka через таблицу markacust данные где customer_id = (в нашем случае 30) указанной переменной. И склеивает их между собой через запятую.
Второй запрос выбирает из таблицы test_type через таблицу test_type_cust данные где customer_id = указанной переменной. И также склеивает их между собой. А затем прибавляет полученную строчку к строчке полученной в первом запросе.
Третьем действием прибавляет еще один столбец comment из таблицы customer.

Теперь перейдем к проблеме.

Как и в предыдущем примере марок (marka) может быть много и видов испытания (test_type) тоже.

Необходимо изменить логику запроса таким образом, что бы:
1). Выбиралась первая марка, и к ней прибавлялись все виды испытания, которые для нее указаны (данные из таблицы test_type_cust).
2). Далее к уже полученной строчке прибавлялись следующие марки. По такому же принципу как и с первой маркой.
3). И после последней марки прибавлялся комментарий. (Это уже работает из первоначального кода).

Все мои попытки разрешить эту проблему заканчиваются ошибкой sql.

Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

Хочу заметить, что сама суть ошибки мне понятно, но как написать правильно запрос ни как не могу додуматься.

Окончательный результат должен быть (примерно) такой.

Картинка с другого сайта.

Разного цвета разные марки с их видами испытания, а 111, это комментарий.

Надеюсь на вашу помощь. Заранее спасибо.
29 май 13, 11:28    [14363633]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
У меня везде крестик и "картинка с другого сайта". Не вижу ни диаграмму ничего...:(
29 май 13, 11:32    [14363656]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
Гость333
Member

Откуда:
Сообщений: 3683
icef1ery
SQL диаграмма
<<Картинка>>

А также данные заполнения таблиц.
Таблица Customers
<<Картинка>>

Таблица marka
<<Картинка>>

Таблица markacust
<<Картинка>>

Таблица test_type
<<Картинка>>

Таблица test_type_cust
<<Картинка>>

Для скорейшего ответа желательно выдать всё это в виде SQL-команд (CREATE TABLE и INSERT). Иначе долго придётся ждать доброхота, который всё это создаст (предварительно угадав типы всех столбцов) и введёт данные с картинок.
29 май 13, 11:51    [14363793]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3274
В таблице test_type_cust есть поле marka_id, но ссылки на таблицу marka я не вижу. Оно у вас там просто так валяется, или это действительно внешний ключ?
29 май 13, 11:52    [14363803]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
select
 c.customer_id, t.s
from
 customer c outer apply
 (
  select stuff((
   select
    ', ' + x.s
   from
    test_type_cust ttc join
    test_type tt on tt.test_type_id = ttc.test_type_id join
    marka m on marka_id = ttc.marka_id cross apply
    (select 3, c.comment union select 2, tt.test_type union select 1, m.marka) x(o, s)
   where
    ttc.customer_id = c.customer_id
   order by
    x.o
   for xml path(''), type).value('.', 'varchar(max)'), 1, 2, '')
 ) t(s);
Т.к. ни схему, ни тестовые данные вы не предоставили, проверяйте сами. Ну и порядок select в union привести в соответствие с типами столбцов.
29 май 13, 12:01    [14363861]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
icef1ery
Member

Откуда:
Сообщений: 61
invm
Т.к. ни схему, ни тестовые данные вы не предоставили, проверяйте сами. Ну и порядок select в union привести в соответствие с типами столбцов.


Постараюсь сделать запросы CREATE TABLE и INSERT.

Про порядок в union честно не понял. Для меня вот этот запрос слишком сложный попробую разобраться в нем. Но отпишу вам что выдал SQL на такой запрос.

Картинка с другого сайта.

То есть перечисли все марки, а за ними все виды испытания и потом 4 раза указал комментарий.
29 май 13, 12:43    [14364131]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
icef1ery
Member

Откуда:
Сообщений: 61
И еще вопрос есть ли возможность создать SQL-команды (CREATE TABLE и INSERT) из уже готовой базы данных? Встроенными средствами или дополнительными утилитами. Или единственный способ написать их в ручную?
Спасибо.
29 май 13, 12:47    [14364159]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
icef1ery
И еще вопрос есть ли возможность создать SQL-команды (CREATE TABLE и INSERT) из уже готовой базы данных? Встроенными средствами или дополнительными утилитами. Или единственный способ написать их в ручную?
Спасибо.

Правой кнопкой на таблице - Script Table As->CREATE TO->New Query window
29 май 13, 12:56    [14364210]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
Гость333
Member

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

Всё делается стандартными средствами SSMS, способ описан, например, тут: http://stackoverflow.com/questions/982568/what-is-the-best-way-to-auto-generate-insert-statements-for-a-sql-server-table
29 май 13, 12:59    [14364219]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
icef1ery
Про порядок в union честно не понял
Ну и не нужно понимать, это я не проснувшись написал.
icef1ery
То есть перечисли все марки, а за ними все виды испытания и потом 4 раза указал комментарий.
Вот поэтому у вас и просят тестовые данные и схему таблиц.
29 май 13, 13:09    [14364280]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
А запрос вот так перепишите:
select
 c.customer_id, t.s
from
 customer c outer apply
 (
  select stuff((
   select
    ', ' + x.s
   from
    test_type_cust ttc join
    test_type tt on tt.test_type_id = ttc.test_type_id join
    marka m on marka_id = ttc.marka_id cross apply
    (select 3, c.comment union all select 2, tt.test_type union all select m.marka) x(o, s)
   where
    ttc.customer_id = c.customer_id
   group by
    x.o, x.s
   order by
    x.o
   for xml path(''), type).value('.', 'varchar(max)'), 1, 2, '')
 ) t(s);
29 май 13, 13:20    [14364344]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
icef1ery
Member

Откуда:
Сообщений: 61
invm
А запрос вот так перепишите:

написал вот какую ошибку кидает

Сообщение 205, уровень 16, состояние 1, строка 1
Все запросы, объединенные с помощью операторов UNION, INTERSECT или EXCEPT, должны иметь одинаковое число выражений в целевых списках.
29 май 13, 14:05    [14364643]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
iap
Member

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

так допишите в третьем SELECTе "3,".
Абсолютная беспомощность какая-то!
29 май 13, 14:09    [14364661]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
invm
Member

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

select
 c.customer_id, t.s
from
 customer c outer apply
 (
  select stuff((
   select
    ', ' + x.s
   from
    test_type_cust ttc join
    test_type tt on tt.test_type_id = ttc.test_type_id join
    marka m on marka_id = ttc.marka_id cross apply
    (select 3, c.comment union all select 2, tt.test_type union all select 3, m.marka) x(o, s)
   where
    ttc.customer_id = c.customer_id
   group by
    x.o, x.s
   order by
    x.o
   for xml path(''), type).value('.', 'varchar(max)'), 1, 2, '')
 ) t(s);
29 май 13, 14:09    [14364666]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
iap
icef1ery,

так допишите в третьем SELECTе "3,".
Абсолютная беспомощность какая-то!
Стоп! Кажется, надо "1,"
29 май 13, 14:10    [14364673]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
invm
icef1ery,

select
 c.customer_id, t.s
from
 customer c outer apply
 (
  select stuff((
   select
    ', ' + x.s
   from
    test_type_cust ttc join
    test_type tt on tt.test_type_id = ttc.test_type_id join
    marka m on marka_id = ttc.marka_id cross apply
    (select 3, c.comment union all select 2, tt.test_type union all select 3, m.marka) x(o, s)
   where
    ttc.customer_id = c.customer_id
   group by
    x.o, x.s
   order by
    x.o
   for xml path(''), type).value('.', 'varchar(max)'), 1, 2, '')
 ) t(s);
Там же у Вас уже есть 3?
29 май 13, 14:10    [14364678]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
icef1ery
Member

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

так допишите в третьем SELECTе "3,".
Абсолютная беспомощность какая-то!
Стоп! Кажется, надо "1,"


На счет беспомощности я писал выше что я понимаю на половину как работает данный запрос. (из-за отсутствие знания и практики)
И 1 ошибочку я вне всегда правлю (ну это наличие базы)
 marka m on m.marka_id = ttc.marka_id cross apply


а вот результат последнего запроса

  select
 c.customer_id, t.s
from
 customer c outer apply
 (
  select stuff((
   select
    ', ' + x.s
   from
    test_type_cust ttc join
    test_type tt on tt.test_type_id = ttc.test_type_id join
    marka m on m.marka_id = ttc.marka_id cross apply
    (select 3, c.comment union all select 2, tt.test_type union all select 1, m.marka) x(o, s)
   where
    ttc.customer_id = c.customer_id
   group by
    x.o, x.s
   order by
    x.o
   for xml path(''), type).value('.', 'varchar(max)'), 1, 2, '')
 ) t(s);


Картинка с другого сайта.
29 май 13, 14:21    [14364738]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
iap
Member

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

может, хватит тут картинками мусорить.
Их же всё равно не видно.

Текст выкладывайте
29 май 13, 14:25    [14364785]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
icef1ery
Member

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

может, хватит тут картинками мусорить.
Их же всё равно не видно.

Текст выкладывайте

Извините вы не видите картинки другие видят специально для вас.

Результаты SQL запроса

customer_id	   s
30                 Marka1, Marka2, МГТФ, РКТФ-71М, вибр. нагр., Грибы, мног и один.нагр., пон.атм.давл., Пыль, 111                                          


Вот так представьте, что это картинка.
29 май 13, 14:37    [14364867]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
iap
Member

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

что в этом результате неправильно?
29 май 13, 14:43    [14364912]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
iap
Там же у Вас уже есть 3?
Ага. Промазал второпях...
29 май 13, 14:46    [14364928]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
icef1ery
Member

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

что в этом результате неправильно?


что есть
customer_id	s
30	        Marka1, Marka2, МГТФ, РКТФ-71М, вибр. нагр., Грибы, мног и один.нагр., пон.атм.давл., Пыль, 111   



что бы хотелось
customer_id	s
30	        Marka1, вибр. Нагр., Marka2, Пыль, МГТФ, пон.атм.давл., РКТФ-71М, Грибы, мног и один.нагр., 111


То есть не просто соединить, все марки + все виды испытания. А соединить первую марку + вид испытания (которые относятся к данной марке test_type_cust столбец marka_id) и циклом соединить все остальные марки по принципу первой.
Надеюсь понятно если нет распишу подробнее.
29 май 13, 15:01    [14365028]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
Гость333
Member

Откуда:
Сообщений: 3683
CREATE TABLE+INSERT сегодня так и не будет, как я понимаю
29 май 13, 15:12    [14365092]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
icef1ery
Member

Откуда:
Сообщений: 61
Гость333
CREATE TABLE+INSERT сегодня так и не будет, как я понимаю

Делаю почти готово.
29 май 13, 15:24    [14365200]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL запросом. Соединение строк.  [new]
icef1ery
Member

Откуда:
Сообщений: 61
Создавал сам в ручную так как через Скрипт всей базы нельзя из за отсутствия прав на базу.
могут быть ошибки. но сделал все что смог. Попытаюсь еще улучшить.

Создаем базу isp_dog
use master
go
if DB_ID ('isp_dog') is not null
drop database isp_dog
go
create database isp_dog
go
use isp_dog


Таблица customer
USE [isp_dog]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[customer](
	[customer_id] [int] IDENTITY(1,1) NOT NULL,
	[contragents_id] [int] NULL,
	[comment] [char](45) NULL,
	[finplan] [varchar](50) NULL,
	[UchPZ] [bit] NULL,
	[numbISHvp] [char](45) NULL,
	[dateISHvp] [datetime] NULL,
	[numbdog] [char](45) NULL,
	[datedog] [datetime] NULL,
	[numbchet] [char](45) NULL,
	[datechet] [datetime] NULL,
	[SUM] [char](45) NULL,
	[numbPP] [char](45) NULL,
	[datePP] [datetime] NULL,
	[RasxodDokBug] [bit] NULL,
	[numbProtIsp] [char](45) NULL,
	[StadiaOform] [char](200) NULL,
	[discription] [char](150) NULL,
 CONSTRAINT [PK_customer] PRIMARY KEY CLUSTERED 
(
	[customer_id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[customer]  WITH CHECK ADD  CONSTRAINT [FK_customer_Organ] FOREIGN KEY([contragents_id])
REFERENCES [dbo].[contragents] ([contragents_id])
GO

ALTER TABLE [dbo].[customer] CHECK CONSTRAINT [FK_customer_Organ]
GO


Таблица marka
USE [isp_dog]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[marka](
	[marka_id] [int] IDENTITY(1,1) NOT NULL,
	[marka] [varchar](50) NULL,
 CONSTRAINT [PK_marka] PRIMARY KEY CLUSTERED 
(
	[marka_id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO


Таблица markacust
USE [isp_dog]
GO
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[markacust](
	[idmarkacust] [int] IDENTITY(1,1) NOT NULL,
	[customer_id] [int] NOT NULL,
	[marka_id] [int] NOT NULL,
 CONSTRAINT [PK_markacust] PRIMARY KEY CLUSTERED 
(
	[idmarkacust] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[markacust]  WITH CHECK ADD  CONSTRAINT [FK_markacust_customer] FOREIGN KEY([customer_id])
REFERENCES [dbo].[customer] ([customer_id])
GO

ALTER TABLE [dbo].[markacust] CHECK CONSTRAINT [FK_markacust_customer]
GO

ALTER TABLE [dbo].[markacust]  WITH CHECK ADD  CONSTRAINT [FK_markacust_marka] FOREIGN KEY([marka_id])
REFERENCES [dbo].[marka] ([marka_id])
GO

ALTER TABLE [dbo].[markacust] CHECK CONSTRAINT [FK_markacust_marka]
GO


Таблица test_type
USE [isp_dog]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[test_type](
	[test_type_id] [int] IDENTITY(1,1) NOT NULL,
	[test_type] [nvarchar](50) NULL,
 CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED 
(
	[test_type_id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO


Таблица test_type_cust
USE [isp_dog]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[test_type_cust](
	[idtest_type] [int] IDENTITY(1,1) NOT NULL,
	[customer_id] [int] NOT NULL,
	[test_type_id] [int] NOT NULL,
	[marka_id] [int] NOT NULL,
 CONSTRAINT [PK_test_type_cust] PRIMARY KEY CLUSTERED 
(
	[idtest_type] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[test_type_cust]  WITH CHECK ADD  CONSTRAINT [FK_test_type_cust_customer] FOREIGN KEY([customer_id])
REFERENCES [dbo].[customer] ([customer_id])
GO

ALTER TABLE [dbo].[test_type_cust] CHECK CONSTRAINT [FK_test_type_cust_customer]
GO

ALTER TABLE [dbo].[test_type_cust]  WITH CHECK ADD  CONSTRAINT [FK_test_type_cust_marka] FOREIGN KEY([marka_id])
REFERENCES [dbo].[marka] ([marka_id])
GO

ALTER TABLE [dbo].[test_type_cust] CHECK CONSTRAINT [FK_test_type_cust_marka]
GO

ALTER TABLE [dbo].[test_type_cust]  WITH CHECK ADD  CONSTRAINT [FK_test_type_cust_test_type] FOREIGN KEY([test_type_id])
REFERENCES [dbo].[test_type] ([test_type_id])
GO

ALTER TABLE [dbo].[test_type_cust] CHECK CONSTRAINT [FK_test_type_cust_test_type]
GO


И INSERT'ы

Таблица Customer

SET IDENTITY_INSERT customer ON
INSERT INTO [isp_dog].[dbo].[customer]
           ([customer_id]
           ,[contragents_id]
           ,[comment]
           ,[finplan]
           ,[UchPZ]
           ,[numbISHvp]
           ,[dateISHvp]
           ,[numbdog]
           ,[datedog]
           ,[numbchet]
           ,[datechet]
           ,[SUM]
           ,[numbPP]
           ,[datePP]
           ,[RasxodDokBug]
           ,[numbProtIsp]
           ,[StadiaOform]
           ,[discription])
     VALUES
           (30
           ,1
           ,’111’
           ,’123’
           ,0
           ,’123’
           ,’2013-05-22’
           ,’123’
           ,’2013-05-22’
           ,’123’
           ,’2013-05-22’
           ,’200’
           ,’123’
           ,’2013-05-22’
           ,0
           ,’123’
           ,’123’
           ,’123’
GO
SET IDENTITY_INSERT customer OFF


Таблица marka

SET IDENTITY_INSERT marka ON
INSERT INTO [isp_dog].[dbo].[marka] ([marka_id],[marka])
     VALUES (1, ‘Marka1’)
           ,(2, ‘Marka2’)
           ,(3, ‘Marka3’)
           ,(25, ‘Не выбрано’)
           ,(27, ‘РКТФ-71М’)
           ,(29, ‘МГТФ’)
           ,(30, ‘’)
SET IDENTITY_INSERT marka OFF
GO


Таблица markacust

SET IDENTITY_INSERT markacust ON
INSERT INTO [isp_dog].[dbo].[markacust] ([Idmarkacust],[customer_id],[marka_id])
     VALUES (14,30,27)
           ,(15,30,29)
     ,(17,30,1)
     ,(30,30,2)
SET IDENTITY_INSERT markacust OFF
GO


Таблица test_type

SET IDENTITY_INSERT test_type ON
INSERT INTO [isp_dog].[dbo].[test_type] ([test_type_id],[test_type])
     VALUES (1, ‘Пыль’)
           ,(2, ‘Грибы’)
           ,(19, ‘Не выбрано’)
           ,(20, ‘клим и мех возд.)
           ,(21, ‘пон.атм.давл.)
           ,(22, ‘мног, и один.нагр’)
           ,(23, ‘вибр.нагр’)
SET IDENTITY_INSERT test_type ON
GO


Таблица test_type_cust

SET IDENTITY_INSERT test_type_cust ON
INSERT INTO [isp_dog].[dbo].[test_type_cust] ([idtest_type],[customer_id]
           ,[test_type_id],[marka_id])
     VALUES (5,30,21,29)
     ,(6,30,23,1)
     ,(12,30,2,27)
     ,(13,30,1,2)
     ,(14,30,22,27)
SET IDENTITY_INSERT test_type_cust OFF
29 май 13, 15:39    [14365314]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить