Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / DISTINCTROW и DISTINCT / 13 сообщений из 13, страница 1 из 1
29.08.2002, 11:26:46
    #32046748
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
Кто нибудь знает как заменить DISTINCTROW из Access в SQL Server 2000 DISTINCT это не совсем то !!!!!!!!!!
...
Рейтинг: 0 / 0
29.08.2002, 12:30:12
    #32046775
Александр Спелицин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
Gruoup By <список полей из Select>
...
Рейтинг: 0 / 0
29.08.2002, 13:04:55
    #32046797
soni
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
Вам нужен просто для отсечения дубликатов или для анализирования набора данных?
Потому, что для просмотра дублирующихся записей Вам необходима инструкция HAVING BY
...
Рейтинг: 0 / 0
29.08.2002, 13:30:20
    #32046815
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
Мне нужно переделать запрос с Access 97 на SQL Server формально так как таких "умных запросов очень много" так же как и данных и я у же зазеленел сравнивать то что возвращать Access 97 и SQL Server 2К
...
Рейтинг: 0 / 0
29.08.2002, 13:36:21
    #32046819
soni
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
Ваша фраза :
"в SQL Server 2000 DISTINCT это не совсем то !!!!!!!!!!"
что означает?
...
Рейтинг: 0 / 0
29.08.2002, 18:16:46
    #32046947
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
Вот url MSDN
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql7/html/access2sql.asp
Кому лень лазить:

SQL Server and Access Query Syntax
The following table shows the corresponding differences between SQL Server and Access query syntax.

Access query syntax SQL Server query syntax
DISTINCTROW - DISTINCT
А это не так....
...
Рейтинг: 0 / 0
29.08.2002, 19:08:36
    #32046960
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
в аксе есть distinct и distinctrow....
эмуляция второго в скуле - через все поля....
есть таблица tbl(i1 int,i2 int)
1,1
1,2
1,2
2,1
2,2
2,1
access
--------------------
Код: plaintext
1.
 select distinctrow i1
from tbl

результат (в строчку) 1,1,2,2
SQL
Код: plaintext
1.
2.
select i1
from ( select distinct *
         from tbl)
...
Рейтинг: 0 / 0
30.08.2002, 15:14:25
    #32047183
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
To MiCe
А у меня получается:

Табличка в Access XP/Format 2000
i1 i2
1 1
1 2
1 2
2 1
2 2
2 1

Запрос

SELECT DISTINCTROW i1
FROM tbl; (:

i1
1
1
1
2
2
2

?????
...
Рейтинг: 0 / 0
30.08.2002, 15:21:42
    #32047188
Tulkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
А может DISTINCTROW в Access это тоже самое, что SELECT DISTINCT *
...
Рейтинг: 0 / 0
30.08.2002, 15:30:12
    #32047194
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
DISTINCTROW - это уникальные строки в исходном наборе....
DISTINCT - уникальные поля в возвращающемся наборе ...
я ж уже показал.... та ясна вся разница ...
2 Creator
так и должно быть!....

2
Код: plaintext
Tulkin

абсолютно верно...
SELECT DISTINCTROW (fields...) .... в ACCESS и
SELECT (fields...) FROM (SELECT DISTINCT *
в SQLserv одно и тоже....
...
Рейтинг: 0 / 0
31.08.2002, 16:39:55
    #32047302
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
Ok. Тогда ещё один ньюанс. В случае

не SELECT DISTINCTROW (fields...) FROM ...
а SELECT DISTINCTROW * FROM ...?
Тогда DISTINCTROW вообще игнорируется, то есть получается:

SELECT DISTINCTROW * FROM ... = SELECT * FROM ...? (2)

А с другой стороны:

если по схеме:

SELECT DISTINCTROW (fields...) FROM ... =
SELECT (fields...) FROM (SELECT DISTINCT * FROM ...) (1)


SELECT (fields...) FROM (SELECT DISTINCT * FROM ...) =[при (fields...)= * ]
SELECT * FROM (SELECT DISTINCT * FROM ...) =
и равносильно
= SELECT DISTINCT * FROM ... (3) Что не равно SELECT * FROM ... то есть (3) не равно (2)

а значит формально (1) будет не всегда так? Или я зглючил?
...
Рейтинг: 0 / 0
31.08.2002, 17:31:59
    #32047305
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
select distinctrow * from ... = select distinct * from ....
вот так верно....
у тебя (2) не верено .... (1) и (3) верно....
но в (3) нет distinctrow.... и не морочь ни себе ни мне голову..... просто прими как данность.....
...
Рейтинг: 0 / 0
02.09.2002, 12:07:47
    #32047384
Creator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DISTINCTROW и DISTINCT
Ну что за наезды сразу? Вот посмотри:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/office97/html/output/F1/D2/S5A319.asp

Выкладка:

DISTINCTROW
Omits data based on entire duplicate records, not just duplicate fields. For example, you could create a query that joins the Customers and Orders tables on the CustomerID field. The Customers table contains no duplicate CustomerID fields, but the Orders table does because each customer can have many orders. The following SQL statement shows how you can use DISTINCTROW to produce a list of companies that have at least one order but without any details about those orders:

SELECT DISTINCTROW CompanyName
FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY CompanyName;

If you omit DISTINCTROW, this query produces multiple rows for each company that has more than one order.

DISTINCTROW has an effect only when you select fields from some, but not all, of the tables used in the query. DISTINCTROW is ignored if your query includes only one table, or if you output fields from all tables.

Тоесть другими словами
DISTINCTROW игнорируется если запрос содержит только одну таблицу а это означает

SELECT DISTINCTROW * FROM ... = SELECT * FROM ... (2)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / DISTINCTROW и DISTINCT / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]