powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / IMAGE во вложенном запросе
10 сообщений из 10, страница 1 из 1
IMAGE во вложенном запросе
    #32048919
Gramer guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так получилось, что в таблице вида
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
IMAGE во вложенном запросе
    #32048929
Фотография sparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Distingt
...
Рейтинг: 0 / 0
IMAGE во вложенном запросе
    #32048955
Gramer guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The text, ntext, or image data type cannot be selected as DISTINCT.
...
Рейтинг: 0 / 0
IMAGE во вложенном запросе
    #32048959
Gramer guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Image поля даже join нельзя! Никто не знает, почему?
...
Рейтинг: 0 / 0
IMAGE во вложенном запросе
    #32048969
Trong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не очень понял: у Вас два ID = 1, значит ли это, что и ImageObj в этом случае одинаковые?
...
Рейтинг: 0 / 0
IMAGE во вложенном запросе
    #32048980
reubast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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
IMAGE во вложенном запросе
    #32048995
Gramer guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, для одинаковых ID'ов Image-поля одинаковые... знаю, это немного криво, но такая уж структура...
Значит, без темповых таблиц не обойтись?
...
Рейтинг: 0 / 0
IMAGE во вложенном запросе
    #32048996
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Без временных таблиц, наверное не получиться
Код: 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
IMAGE во вложенном запросе
    #32048997
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон. Наврал. Спать пора, а не селекты писать.
...
Рейтинг: 0 / 0
IMAGE во вложенном запросе
    #32049171
Gramer guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самое простое, на мой взгляд, решение - добавить поле IDENTITY к этой таблице и сделать запрос вида, предложенного г-м reubast'ом. Тогда можно обойтись без создания темповых таблиц. Спасибо за обсуждение!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / IMAGE во вложенном запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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