Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / IMAGE во вложенном запросе / 10 сообщений из 10, страница 1 из 1
06.09.2002, 19:38:22
    #32048919
Gramer guest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMAGE во вложенном запросе
Так получилось, что в таблице вида
ID ImageObj
1 0x0001
1 0x0001
2 0x0002
2 0x0002
3 0x0003
3 0x0003
3 0x0003
4 0x0004

происходит повторение IMAGE-поля, хотя одному ID соответствует одно IMAGE поле(согласен, структура очень кривая). Хочется сгруппировать таблицу по ID, и получить такую же таблицу, только с неповторяющимися записями ID и, соответственно, ImageObj. Группировать по Image-полю нельзя, и во вложенном запросе его использовать также запрещается... (непонятно, правда, почему...)
Поэтому запросы вида
SELECT ID, (SELECT TOP 1 ImageObj FROM Tbl WHERE ID=T.ID) FROM Tbl as T GROUP BY ID
либо
SELECT ID, ImageObj FROM Tbl GROUP BY ID, ImageObj
не годятся :( Не подскажете, уважаемые знатоки, каким образом этот запрос можно осуществить?
...
Рейтинг: 0 / 0
06.09.2002, 21:08:50
    #32048929
sparrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMAGE во вложенном запросе
Distingt
...
Рейтинг: 0 / 0
07.09.2002, 18:17:07
    #32048955
Gramer guest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMAGE во вложенном запросе
The text, ntext, or image data type cannot be selected as DISTINCT.
...
Рейтинг: 0 / 0
07.09.2002, 20:17:11
    #32048959
Gramer guest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMAGE во вложенном запросе
Image поля даже join нельзя! Никто не знает, почему?
...
Рейтинг: 0 / 0
07.09.2002, 21:23:29
    #32048969
Trong
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMAGE во вложенном запросе
Я не очень понял: у Вас два ID = 1, значит ли это, что и ImageObj в этом случае одинаковые?
...
Рейтинг: 0 / 0
08.09.2002, 09:09:53
    #32048980
reubast
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMAGE во вложенном запросе
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
select 
	IDENTITY(int,  1 , 1 ) as iden, 
	ID,
	ImageObj 
into 
	tempdb.dbo.test_image
from 
	image_table
 --------------------------------------
 
select 
	ID, ImageObj  
from 
	tempdb.dbo.test_image 
where 
	iden in (
		select 
			min(iden) iden 
		from 
			tempdb.dbo.test_image 
		group by 
			ID
		)
...
Рейтинг: 0 / 0
09.09.2002, 00:11:21
    #32048995
Gramer guest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMAGE во вложенном запросе
Да, для одинаковых ID'ов Image-поля одинаковые... знаю, это немного криво, но такая уж структура...
Значит, без темповых таблиц не обойтись?
...
Рейтинг: 0 / 0
09.09.2002, 00:47:08
    #32048996
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMAGE во вложенном запросе
Без временных таблиц, наверное не получиться
Код: plaintext
1.
2.
select distinct id into #t from table1
select #t.id,ImageObj from #t join table1 on table1.id = #t.id
drop table #t
...
Рейтинг: 0 / 0
09.09.2002, 00:58:57
    #32048997
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMAGE во вложенном запросе
Пардон. Наврал. Спать пора, а не селекты писать.
...
Рейтинг: 0 / 0
09.09.2002, 17:34:58
    #32049171
Gramer guest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMAGE во вложенном запросе
Самое простое, на мой взгляд, решение - добавить поле IDENTITY к этой таблице и сделать запрос вида, предложенного г-м reubast'ом. Тогда можно обойтись без создания темповых таблиц. Спасибо за обсуждение!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / IMAGE во вложенном запросе / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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