Почему количество строк увеличивается в операторе SELECT с INNER JOIN при выборе второго столбца?

Я пишу несколько запросов с самообъединением в SQL Server. Когда у меня есть только один столбец в предложении SELECT, запрос возвращает определенное количество строк. Когда я добавляю еще один столбец из второго экземпляра таблицы в предложение SELECT, результаты увеличиваются на 1000 строк!

Как это возможно?

Спасибо.

ИЗМЕНИТЬ:

У меня есть подзапрос в предложении FROM, который также является самообъединением в той же таблице.


person Geoffrey    schedule 26.05.2011    source источник
comment
Можете ли вы включить оператор SQL или хотя бы образец?   -  person Mario    schedule 26.05.2011
comment
Согласен: невозможно ответить без примера кода.   -  person MatBailie    schedule 26.05.2011
comment
Не видя запроса, это немного сложно сказать, но, судя по вашим симптомам, похоже, что у вас есть предложение group by, и вы не совсем понимаете, как работает последнее.   -  person Denis de Bernardy    schedule 26.05.2011
comment
Спасибо, парни. Я не могу вставить фактический запрос из-за конфиденциальности. Я должен буду сделать аналогичный пример.   -  person Geoffrey    schedule 26.05.2011
comment
Ладно, жду в предвкушении. Между тем, не волнуйтесь, SQL не сломан :)   -  person Milimetric    schedule 26.05.2011


Ответы (1)


Как это возможно?

единственное, о чем я могу думать, это то, что у вас есть SELECT DISTINCT, а дополнительный столбец делает некоторые результаты отличными, которых не было до дополнительного столбца.

Например, я ожидал бы, что второй результат будет иметь гораздо больше строк

SELECT DISTINCT First_name From Table

vs

SELECT DISTINCT First_name, Last_name From Table

Но если бы у нас был настоящий SQL, то на ум могло бы прийти что-то еще

person Conrad Frix    schedule 26.05.2011