svilkov87: да не за что, только вот не забывай ответы отмечать как "решение", не обязательно мой, а то, что тебе на этом ресурсе помогает и отвечает на поставленный тобою вопрос) Это нужно для других людей, которые потом пользуются поисковиками или же просто по форуму.
Alex Chistyakov: ясненько, тоже сохравню его. И да, а кто помешает тогда постить задачи, которые нужны лично для моих нужд? Будь то мои проекты или просто практики в универе. Я думаю таких там много ))
А не могли бы вы в двух словах расказать об этом ресурсе? Для чего его используют? Какие там правила? И какова разница к примеру в сравнении с этим сайтом или же стэк оверфлоу? :)
нарисуйте картинку что именно вы хотите, и приложите код в https://jsfiddle.net/ а то так очень трудно понять, чего же именно вам надо и что у вас не так с кодом.
"Смотрите, если вы вот так просто сделаете SELECT * FROM [User], [Categories] без условия объединения этих таблиц, то у вас в итоге сработает CROSS JOIN." = Аааааааааа все)) теперь понял, я просто этой штуки не знал. Надо запонять пробелы... :(
heartdevil: ну в таблице категорий сделал 6 записей. 3 из них добавлены юзером 1, и 3 из них добавлены юзером номер 2. получается если я сравниваю с UserID, который уже находится в категориях, то больше ничего и не надо. И тогда все прекрасно работает, это я понял :) Особенно ваши 2 коммента на Join разьяснили мне все куда лучше, чем большие статьи ) Но вот в моем случае (по моему говно запросу) если добавить к нему просто селект не только категории, но и юзера, то все рушиться, при том, что я не использую эти данные в каких-либо сравнениях в дальнейшем. Вот что именно мне не до конца ясно)
вот оно что) убрал селект таблицы юзера и все стало проще)) Спасибо. Просто я никак не пойму, даже если я беру все другие таблицы в запросе и просто их не использую(к примеру), но сам то запрос проверяется по "where @UserID = Category.UserID", т.е. это 1 = 1 или 2 = 2, но он каким-то боком ставит все существующие категории как 1 или 2.
antiso: Тогда то что надо. Я как-то логически думал, что если я изначально делаю запрос на 100 строк. То столько у меня будет в таблице, учитывая пейджинг и делая потом какие-либо дальнейшие обработки, он бы брал данные так же основывая на первых 100 записей, а не всей таблицы. Спасибо, сегодня уже оставлю это дело, продолжу потом)) Завтра отпишусь по итогам :)
antiso: получается скип энд лимит должны решить эту проблему? К примеру допишу я его на лимит 100 записей к своей сторед процедуре, сделаю пейджинг по 20 записей(на 1 страницу) и если я перескочу 5ую страницу, то данные все равно будут выдаваться как следует? И так же селект с доп. параметрами сортировки будет работать как я выше описал?