SBolgov wrote:Не расплодятся ввиду уникальности ID1 в Table1.
Вот я тоже над этим второй день думаю
![Wink ;)](./images/smilies/icon_wink.gif)
А что если ID там уникальные, а description повторяются?
Или это для Аниной задачи уже не суть важно?
Сабина
SBolgov wrote:AnyaGal wrote:SBolgov wrote:Code: Select all
SELECT
ID1,
Description
FROM
Table1
WHERE
ID1 IN (SELECT ID1 FROM Table3 WHERE ID2 IN (1,2))
Во это наверное лучше, только во второй select Distinct хорошо бы добавить.
Это без разницы. Результат от этого не зависит.
По идее, даже наоборот - с точки зрения производительности лучше ненужный Distinct не делать. Хотя это "лучше" уже зависит от нюансов реализации.
Code: Select all
SELECT ID1 FROM Table3 WHERE ID2 IN (1,2)
AnyaGal wrote:Да верно, а будут ли дупликаты в INCode: Select all
SELECT ID1 FROM Table3 WHERE ID2 IN (1,2)
без Distinct? По идее будут, так как select может вернуть не уникальные ID1, а в IN они все включатся (например 1,1,1,2,2) или будет (1,2). То есть как работает IN?
Code: Select all
SELECT ID1, Decription FROM Table1 WHERE ID1 IN (5,7)
Code: Select all
SELECT ID1, Decription FROM Table1 WHERE ID1 IN (5,7,7,7,5,5,7,5,5,5,5,7)
Sabina wrote:SBolgov wrote:Не расплодятся ввиду уникальности ID1 в Table1.
Вот я тоже над этим второй день думаю
А что если ID там уникальные, а description повторяются?
Или это для Аниной задачи уже не суть важно?
AnyaGal wrote:По идее Description может быть не уникальным, а ID1 (в Table1)- уникальные.
AnyaGal wrote:Это-то понятно, но хорошо ли иметь дупликаты в IN? Что будет хуже добавить Distinct или иметь дупликаты в IN?
Это-то понятно, но хорошо ли иметь дупликаты в IN? Что будет хуже добавить Distinct или иметь дупликаты в IN?
Code: Select all
select
t1.ID1,
t1.Description
FROM Table1 t1
where exists
(
select *
from Table3 t3
where t3.ID1 = t1.ID1
and t3.ID2 in (1, 2)
)