Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Опять объединение таблиц  [new]
Zvez_DA
Member

Откуда: Москва
Сообщений: 68
Эх....Есть два завпроса
1.
SELECT     inc, route, hotel, tour, packet, sort, commission, internetaccess
FROM         (SELECT     htroute.inc, htroute.route, htroute.hotel, htroute.tour, htroute.packet, htroute.sort, htroute.commission, tour.internetaccess
                       FROM          htroute INNER JOIN
                                              tour ON htroute.tour = tour.inc
                       WHERE      (tour.internetaccess = 'false'))

Получаем все записи которых нет в интернете.

2.
SELECT     hotel.inc
FROM 
  hotel LEFT OUTER JOIN
                      [order] ON hotel.inc = [order].hotel INNER JOIN
                      htroute ON hotel.inc = htroute.hotel
WHERE     ([order].hotel IS NULL)

Получаем записи, которых нет в табл. [order], но есть в таблице htroute

Не могу отобрать записи, что бы их не было ни в инете, ни в таблице [order], а только в htroute

Причем пишу запрос:
SELECT     derivedtbl_1.inc, derivedtbl_1.route, derivedtbl_1.hotel, derivedtbl_1.tour, derivedtbl_1.packet, derivedtbl_1.sort, derivedtbl_1.commission, 
                      derivedtbl_1.internetaccess
FROM         (SELECT     htroute.inc, htroute.route, htroute.hotel, htroute.tour, htroute.packet, htroute.sort, htroute.commission, tour.internetaccess
                       FROM          htroute INNER JOIN
                                              tour ON htroute.tour = tour.inc
                       WHERE      (tour.internetaccess = 'false')) AS derivedtbl_1 LEFT OUTER JOIN
                      [order] ON derivedtbl_1.hotel = [order].hotel
WHERE     ([order].hotel IS NULL)


у меня вышли данные, решаю проверить то ли это или нет, получается что эти записи действительно есть в тех турах которых нет в инете и нет в таблице [order].
но они так же встречаются все таки и в тех турах которые есть в он лайне.
Т.е. понимаю что нужно сделать исключение,но не могу догадаться...как...
15 авг 09, 13:24    [7542227]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
hpv
Member

Откуда:
Сообщений: 153
Zvez_DA,
а почему первый запрос не такой?:
SELECT     htroute.inc, htroute.route, htroute.hotel, htroute.tour, htroute.packet, htroute.sort, htroute.commission, tour.internetaccess
                       FROM          htroute INNER JOIN
                                              tour ON htroute.tour = tour.inc
                       WHERE      (tour.internetaccess = 'false')
15 авг 09, 13:54    [7542274]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
hpv
Member

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

и приведите плз версию сервера и скрипты создания таблиц.
15 авг 09, 13:56    [7542279]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
Zvez_DA
Member

Откуда: Москва
Сообщений: 68
Мой сервер:

Microsoft SQL Server 2005 - 9.00.3054.00 (Intel X86) Mar 23 2007 16:28:52 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
15 авг 09, 15:39    [7542355]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
Zvez_DA
Member

Откуда: Москва
Сообщений: 68
SELECT     derivedtbl_1.inc, derivedtbl_1.route, derivedtbl_1.hotel, derivedtbl_1.tour, derivedtbl_1.packet, derivedtbl_1.sort, derivedtbl_1.commission, 
                      derivedtbl_1.internetaccess
FROM         (SELECT     htroute.inc, htroute.route, htroute.hotel, htroute.tour, htroute.packet, htroute.sort, htroute.commission, tour.internetaccess
                       FROM          htroute INNER JOIN
                                              tour ON htroute.tour = tour.inc) AS derivedtbl_1 LEFT OUTER JOIN
                      [order] ON derivedtbl_1.hotel = [order].hotel
WHERE     ([order].hotel IS NULL)

Ну вообщем вот этим запросом, я получаю абсолютно все данные, которые находятся и в инете и нет, т.е. мне где то надо уточнить
что мне нужны только те записи если derivedtbl_1.internetaccess = 'false', а вот если данные уже попадают в строку где derivedtbl_1.internetaccess = 'true', то они не нужны, т.е. в получившейся таблице встречается очень много строк в которой строки в колонке hotel равны, а вот сторки в колонке hotel и internetaccess отличаются...
15 авг 09, 15:45    [7542360]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
блин никак не могу понять вопрос... то что понел делается просто:

select * from mytable
where myfield not in (select mytable_myfield from mytable2)
           and not in ....
15 авг 09, 16:43    [7542418]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
hpv
Member

Откуда:
Сообщений: 153
Zvez_DA,
мб так
SELECT hotel.inc FROM hotel LEFT OUTER JOIN [order] ON hotel.inc = [order].hotel INNER JOIN
htroute ON hotel.inc = htroute.hotel INNER JOIN tour ON htroute.tour = tour.inc
WHERE ([order].hotel IS NULL) AND (tour.internetaccess = 'false')
15 авг 09, 17:16    [7542453]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
Zvez_DA
Member

Откуда: Москва
Сообщений: 68
hrv: нет к сожалению, так я тоже писала, но результат к сожалению тот же....просто видимо я не совсем правильно объясняю что я хочу получить.
Попробую на примерах:
inc hotel internetaccess
--- ----- ---------------
1 2522 false
2 2522 false
3 2522 true
4 2533 false
5 2533 false
6 2544 true
7 2544 false
8 2545 false
9 2545 false
10 2545 false


Нужно получить:
inc hotel internetaccess
--- ----- ---------------
1 2533 false
2 2545 false
15 авг 09, 18:14    [7542526]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
hpv
Member

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

SELECT hotel.inc FROM hotel LEFT OUTER JOIN [order] ON hotel.inc = [order].hotel INNER JOIN
htroute ON hotel.inc = htroute.hotel
WHERE ([order].hotel IS NULL) AND
NOT EXISTS (SELECT 1 FROM tour WHERE tour.inc = htroute.tour WHERE tour.internetaccess = 'true')
15 авг 09, 18:38    [7542546]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
hpv
Member

Откуда:
Сообщений: 153
Zvez_DA,
хотя не зная структуры вашей БД могу предположить, что в таблице туров может и не быть записей соответствующих записям из таблицы htroute
SELECT hotel.inc FROM hotel LEFT OUTER JOIN [order] ON hotel.inc = [order].hotel INNER JOIN
htroute ON hotel.inc = htroute.hotel INNER JOIN tour ON htroute.tour = tour.inc
WHERE ([order].hotel IS NULL) AND
NOT EXISTS (SELECT 1 FROM tour WHERE tour.inc = htroute.tour WHERE tour.internetaccess = 'true')
15 авг 09, 18:45    [7542556]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
исходя от этой таблицы:
автор
inc hotel internetaccess
--- ----- ---------------
1 2522 false
2 2522 false
3 2522 true
4 2533 false
5 2533 false
6 2544 true
7 2544 false
8 2545 false
9 2545 false
10 2545 false


CREATE TABLE #test (
  [inc] int NULL,
  [hotel] int NULL,
  [internetaccess] varchar(20) NULL
)
ON [PRIMARY]
GO

insert into #test
select 1 , 2522 , 'false'
union
select 2, 2522 , 'false'
union 
select 3, 2522, 'true'
union 
select 4, 2533, 'false'
union 
select 5, 2533, 'false'
union 
select 6, 2544 , 'true'
union 
select 7, 2544  , 'false'
union 
select 8, 2545  , 'false'
union 
select 9, 2545  , 'false'
union 
select 10, 2545  , 'false'


SELECT t1.hotel, t1.internetaccess
FROM #TEST  t1
where t1.hotel not in 
					(SELECT t2.hotel 
                    FROM #test t2 
                    WHERE t2.internetaccess = 'true' 
                    group by t2.hotel)
group by t1.hotel, t1.internetaccess
15 авг 09, 18:50    [7542562]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
Zvez_DA
Member

Откуда: Москва
Сообщений: 68
Вот кое-что написала, по запросу вроде все то, что мне нужно:
SELECT     inc, route, hotel, tour, packet, sort, commission, internetaccess
FROM         (SELECT     htroute.inc, htroute.route, htroute.hotel, htroute.tour, htroute.packet, htroute.sort, htroute.commission, tour.internetaccess
                       FROM          htroute INNER JOIN
                                              tour ON htroute.tour = tour.inc AND htroute.tour = tour.inc INNER JOIN
                                              hotel ON htroute.hotel = hotel.inc INNER JOIN
                                              [order] ON hotel.inc = [order].hotel) AS derivedtbl_1
WHERE     ([order].hotel IS NULL) AND (NOT EXISTS
                          (SELECT     1 AS Expr1
                            FROM          tour AS tour_1
                            WHERE      (inc = derivedtbl_1.tour) AND (internetaccess = 'false')))

Но опять возникает проблема, что запускаю запрос, а в ответ ни чего, ни ошибок, ни таблиц, просто вообще пусто. В чем может быть ошибка?
17 авг 09, 15:45    [7547207]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
vino
Member

Откуда:
Сообщений: 1191
Zvez_DA, если не хотите предоставить скрипты примерных данных, то начните с простого ,например, не вижу необходимости в таблице hotel
SELECT inc, route, hotel, tour, packet, sort, commission, internetaccess
FROM
  (SELECT htroute.inc, htroute.route, htroute.hotel, htroute.tour, htroute.packet,
     htroute.sort, htroute.commission, tour.internetaccess
   FROM        htroute INNER JOIN tour ON htroute.tour = tour.inc AND tour.internetaccess = 'false') f
WHERE NOT EXISTS(SELECT * FROM [order] WHERE [order].hotel = htroute.hotel)
17 авг 09, 17:33    [7547981]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
Zvez_DA
Member

Откуда: Москва
Сообщений: 68
Таблица с гостиницами, чуток сократила так как очень много не нужного:

CREATE TABLE [dbo].[hotel](
	[inc] [int] IDENTITY(3,1) NOT NULL,
	[name] [varchar](64) COLLATE SQL_Latin1_General_CP1251_CI_AS NULL,
	[lname] [varchar](64) COLLATE SQL_Latin1_General_CP1251_CI_AS NULL,
	[partner] [int] NULL CONSTRAINT [DF_hotel_partner]  DEFAULT ((-2147483647)),
	[town] [int] NOT NULL CONSTRAINT [DF_hotel_town]  DEFAULT ((-2147483647)),
	[alias] [varchar](16) COLLATE SQL_Latin1_General_CP1251_CI_AS NULL,

	[commission] [bit] NULL CONSTRAINT [DF__hotel__commissio__39A43435]  DEFAULT ((1)),
 CONSTRAINT [PK_hotel] PRIMARY KEY CLUSTERED 
(
	[inc] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
USE [*]
GO
ALTER TABLE [dbo].[hotel]  WITH NOCHECK ADD  CONSTRAINT [FK_hotel_partner] FOREIGN KEY([partner])
REFERENCES [dbo].[partner] ([inc])
GO
ALTER TABLE [dbo].[hotel] CHECK CONSTRAINT [FK_hotel_partner]
GO
ALTER TABLE [dbo].[hotel]  WITH NOCHECK ADD  CONSTRAINT [FK_hotel_star] FOREIGN KEY([star])
REFERENCES [dbo].[star] ([inc])
GO
ALTER TABLE [dbo].[hotel] CHECK CONSTRAINT [FK_hotel_star]
GO
ALTER TABLE [dbo].[hotel]  WITH NOCHECK ADD  CONSTRAINT [FK_hotel_town] FOREIGN KEY([town])
REFERENCES [dbo].[town] ([inc])
GO
ALTER TABLE [dbo].[hotel] CHECK CONSTRAINT [FK_hotel_town]

Таблица htrout:

CREATE TABLE [dbo].[htroute](
	[inc] [int] IDENTITY(1,1) NOT NULL,
	[route] [int] NULL,
	[hotel] [int] NULL,
	[tour] [int] NULL,
	[packet] [bit] NOT NULL CONSTRAINT [DF_htroute_packet]  DEFAULT (0),
	[sort] [int] NULL,
	[commission] [bit] NULL DEFAULT (1),
 CONSTRAINT [PK_htroute] PRIMARY KEY CLUSTERED 
(
	[inc] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

GO
USE [*]
GO
ALTER TABLE [dbo].[htroute]  WITH NOCHECK ADD  CONSTRAINT [FK_htroute_hotel] FOREIGN KEY([hotel])
REFERENCES [dbo].[hotel] ([inc])
GO
ALTER TABLE [dbo].[htroute] CHECK CONSTRAINT [FK_htroute_hotel]
GO
ALTER TABLE [dbo].[htroute]  WITH NOCHECK ADD  CONSTRAINT [FK_htroute_route] FOREIGN KEY([route])
REFERENCES [dbo].[route] ([inc])
GO
ALTER TABLE [dbo].[htroute] CHECK CONSTRAINT [FK_htroute_route]
GO
ALTER TABLE [dbo].[htroute]  WITH NOCHECK ADD  CONSTRAINT [FK_htroute_tour] FOREIGN KEY([tour])
REFERENCES [dbo].[tour] ([inc])
GO
ALTER TABLE [dbo].[htroute] CHECK CONSTRAINT [FK_htroute_tour]

Таблица с tour, тож лишние поля немного убрала:

CREATE TABLE [dbo].[tour](
	[inc] [int] IDENTITY(1,1) NOT NULL,
	[name] [varchar](64) COLLATE SQL_Latin1_General_CP1251_CI_AS NULL,
	[lname] [varchar](64) COLLATE SQL_Latin1_General_CP1251_CI_AS NULL,
	[route] [int] NULL,
	[partner] [int] NOT NULL CONSTRAINT [DF_tour_partner]  DEFAULT ((-2147483647)),
	 CONSTRAINT [PK_tour] PRIMARY KEY CLUSTERED 
(
	[inc] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
USE [*]
GO
ALTER TABLE [dbo].[tour]  WITH NOCHECK ADD  CONSTRAINT [FK_tour_currency] FOREIGN KEY([CurrencyPrice])
REFERENCES [dbo].[currency] ([inc])
GO
ALTER TABLE [dbo].[tour] CHECK CONSTRAINT [FK_tour_currency]
GO
ALTER TABLE [dbo].[tour]  WITH CHECK ADD  CONSTRAINT [FK_tour_currencyinvoice] FOREIGN KEY([CurrencyInvoice])
REFERENCES [dbo].[currency] ([inc])
GO
ALTER TABLE [dbo].[tour]  WITH NOCHECK ADD  CONSTRAINT [FK_tour_tourtype] FOREIGN KEY([tourtype])
REFERENCES [dbo].[tourtype] ([inc])
GO
ALTER TABLE [dbo].[tour] CHECK CONSTRAINT [FK_tour_tourtype]
17 авг 09, 18:37    [7548289]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
Zvez_DA
Member

Откуда: Москва
Сообщений: 68
Перестаралась немного с таблицей tour:


CREATE TABLE [dbo].[tour](
	[inc] [int] IDENTITY(1,1) NOT NULL,
	[name] [varchar](64) COLLATE SQL_Latin1_General_CP1251_CI_AS NULL,
	[lname] [varchar](64) COLLATE SQL_Latin1_General_CP1251_CI_AS NULL,
	[route] [int] NULL,
	[partner] [int] NOT NULL CONSTRAINT [DF_tour_partner]  DEFAULT ((-2147483647)),
        [internetaccess] [bit] NOT NULL CONSTRAINT [DF_tour_internetaccess]  DEFAULT (0)
	 CONSTRAINT [PK_tour] PRIMARY KEY CLUSTERED 
(
	[inc] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
USE [*]
GO
ALTER TABLE [dbo].[tour]  WITH NOCHECK ADD  CONSTRAINT [FK_tour_currency] FOREIGN KEY([CurrencyPrice])
REFERENCES [dbo].[currency] ([inc])
GO
ALTER TABLE [dbo].[tour] CHECK CONSTRAINT [FK_tour_currency]
GO
ALTER TABLE [dbo].[tour]  WITH CHECK ADD  CONSTRAINT [FK_tour_currencyinvoice] FOREIGN KEY([CurrencyInvoice])
REFERENCES [dbo].[currency] ([inc])
GO
ALTER TABLE [dbo].[tour]  WITH NOCHECK ADD  CONSTRAINT [FK_tour_tourtype] FOREIGN KEY([tourtype])
REFERENCES [dbo].[tourtype] ([inc])
GO
ALTER TABLE [dbo].[tour] CHECK CONSTRAINT [FK_tour_tourtype]
17 авг 09, 20:13    [7548507]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
vino
Member

Откуда:
Сообщений: 1191
Zvez_DA
Перестаралась немного...
Связи (CONSTRAINT) в данном случае роли не играют и их можно вообще опустить
CREATE TABLE [dbo].[hotel](
	[inc] [int] IDENTITY(3,1) NOT NULL,
	[name] [varchar](64) COLLATE SQL_Latin1_General_CP1251_CI_AS NULL,
	[lname] [varchar](64) COLLATE SQL_Latin1_General_CP1251_CI_AS NULL,
	[partner] [int] NULL CONSTRAINT [DF_hotel_partner]  DEFAULT ((-2147483647)),
	[town] [int] NOT NULL CONSTRAINT [DF_hotel_town]  DEFAULT ((-2147483647)),
	[alias] [varchar](16) COLLATE SQL_Latin1_General_CP1251_CI_AS NULL,

	[commission] [bit] NULL CONSTRAINT [DF__hotel__commissio__39A43435]  DEFAULT ((1)),
 CONSTRAINT [PK_hotel] PRIMARY KEY CLUSTERED 
 (
	[inc] ASC
 )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[htroute](
	[inc] [int] IDENTITY(1,1) NOT NULL,
	[route] [int] NULL,
	[hotel] [int] NULL,
	[tour] [int] NULL,
	[packet] [bit] NOT NULL CONSTRAINT [DF_htroute_packet]  DEFAULT (0),
	[sort] [int] NULL,
	[commission] [bit] NULL DEFAULT (1),
 CONSTRAINT [PK_htroute] PRIMARY KEY CLUSTERED 
 (
	[inc] ASC
 )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[tour](
	[inc] [int] IDENTITY(1,1) NOT NULL,
	[name] [varchar](64) COLLATE SQL_Latin1_General_CP1251_CI_AS NULL,
	[lname] [varchar](64) COLLATE SQL_Latin1_General_CP1251_CI_AS NULL,
	[route] [int] NULL,
	[partner] [int] NOT NULL CONSTRAINT [DF_tour_partner]  DEFAULT ((-2147483647)),
	[internetaccess] [bit] NOT NULL CONSTRAINT [DF_tour_internetaccess]  DEFAULT (0)
 CONSTRAINT [PK_tour] PRIMARY KEY CLUSTERED
 (
	[inc] ASC
 )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

GO
/* хотя и полезно было посмотреть, но для понимания хватает и этого
ALTER TABLE [dbo].[htroute]  WITH NOCHECK ADD  CONSTRAINT [FK_htroute_hotel]
 FOREIGN KEY([hotel]) REFERENCES [dbo].[hotel] ([inc])
ALTER TABLE [dbo].[htroute]  WITH NOCHECK ADD  CONSTRAINT [FK_htroute_tour]
 FOREIGN KEY([tour]) REFERENCES [dbo].[tour] ([inc])
*/
-- а вот здесь должны быть INSERT тестовых данных...
18 авг 09, 11:04    [7550020]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
vino
Member

Откуда:
Сообщений: 1191
да, у вас еще упоминалась некая таблица [order]
Zvez_DA
Не могу отобрать записи, что бы их не было ни в инете, ни в таблице [order], а только в htroute
18 авг 09, 11:09    [7550058]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
Zvez_DA
Member

Откуда: Москва
Сообщений: 68
Да и по таблице [order]:
ALTER TABLE [dbo].[order]  WITH NOCHECK ADD  CONSTRAINT [FK_order_hotel] FOREIGN KEY([hotel])
REFERENCES [dbo].[hotel] ([inc])
GO
18 авг 09, 11:24    [7550176]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
Zvez_DA
Member

Откуда: Москва
Сообщений: 68
Ничего не получается(((
спасибо Ramin, за совет но в таблице больше 10000 записей.
for: hpv, тож огромное спасибо, но все что то не то.
(((
18 авг 09, 12:33    [7550709]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
vino
Member

Откуда:
Сообщений: 1191
Zvez_DA
Да и по таблице [order]:
ALTER TABLE [dbo].[order]  WITH NOCHECK ADD  CONSTRAINT [FK_order_hotel] FOREIGN KEY([hotel])
REFERENCES [dbo].[hotel] ([inc])
GO
Если хотите точный ответ, то вопросы к вам, изначально заданы: о создании таблиц, в частности непонятна структура таблицы order, и нет тестовых данных, хотя бы несколько строк в каждой таблице, на которых было бы видно, что не работает ваш запрос.
Вот тогда и ответ будет быстрым.
18 авг 09, 16:11    [7552427]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
Zvez_DA
Member

Откуда: Москва
Сообщений: 68
Подскажите хотя бы, как правильно сделать исключения, например если есть 5 строк у которых значение в одной колонке равно, а в другой может быть только truе или только false или и то и другое, так мне нужны только те строки где есть только false, а вот если встречается даже хотя бы одно true в колонках с этими пяти строками, то они уже все не подходят?и так со всеми 13000 строками
18 авг 09, 17:39    [7553120]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
iljy
Member

Откуда:
Сообщений: 8711
Zvez_DA
Подскажите хотя бы, как правильно сделать исключения, например если есть 5 строк у которых значение в одной колонке равно, а в другой может быть только truе или только false или и то и другое, так мне нужны только те строки где есть только false, а вот если встречается даже хотя бы одно true в колонках с этими пяти строками, то они уже все не подходят?и так со всеми 13000 строками


select * from
(
select *, count(case field2 when 'true' then 1 end) over(partition by filed1) cnt
from Table
)
where cnt = 0
18 авг 09, 17:52    [7553191]     Ответить | Цитировать Сообщить модератору
 Re: Опять объединение таблиц  [new]
Glory
Member

Откуда:
Сообщений: 104760
Zvez_DA
Подскажите хотя бы, как правильно сделать исключения, например если есть 5 строк у которых значение в одной колонке равно, а в другой может быть только truе или только false или и то и другое, так мне нужны только те строки где есть только false, а вот если встречается даже хотя бы одно true в колонках с этими пяти строками, то они уже все не подходят?и так со всеми 13000 строками

Нужно посчитать число записей с truе, с false и общее. И сравнить между собой
18 авг 09, 17:52    [7553196]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить