Это не райт джойн, это фулл джойн, просто я пример кривой сделалЗачем ты их right join-ом соединил ? Он так еще больше запутается.
2 5
2 5
5 6
+
2 1
3 4
=
?
2 5 1
2 5 1
5 6 n
3 n 4
или
2 5 1
5 6 n
3 n 4
?
Опубликовано 17 Июнь 2020 - 10:42
Увы, ребят, но что-то идет не так, как надо с этими джойнами. Что-то я н так понимаю и пытаюсь катить квадратное и волочить круглое. Возможно, мои таблица вообще не могут быть объединены так, как я хочу. Но скорее всего там ошибка в таблицах. Кажется, мне не нравится, что если в первой таблице на одном ID два разных значения, то в результирующей таблице происходит удвоение данных из второй таблицы, где тот же ID. Буду крутить, как исправить таблицу1.
P,S. Первая таблица получается при разборе экселевской исходной таблицы, откуда берутся данные вида:
1 Имя2
2 Имя3
3 Имя4
3 Имя3
4 Имя2 Имя1
5 Имя2 Имя2
Похоже, придется как-то исправлять вот эти два имени в 3, и засовывать второе в третий условный "столбец", если там пусто.
Изменено: Alexium, 17 Июнь 2020 - 10:54
Опубликовано 17 Июнь 2020 - 11:17
Увы, ребят, но что-то идет не так, как надо с этими джойнами.
Джойны не причем.
Что-то я н так понимаю и пытаюсь катить квадратное и волочить круглое.
Вполне вероятно.
Возможно, мои таблица вообще не могут быть объединены так, как я хочу.
Как тебе помочь, если ты не можешь объяснить как тебе нужно собрать таблицу ?
Кажется, мне не нравится, что если в первой таблице на одном ID два разных значения, то в результирующей таблице происходит удвоение данных из второй таблицы, где тот же ID.
Естественно, а ты как хотел ? Поле ИД у тебя выполняет роль ключа, если ключ хотя бы в одной из таблиц не уникален, записи у тебя так или иначе будут дублироваться. Используй Distinct или Group By совместно с джойнами.
Похоже, придется как-то исправлять вот эти два имени в 3, и засовывать второе в третий условный "столбец", если там пусто.
Похоже ты еще больше все усложняешь.
Возможно, мои таблица вообще не могут быть объединены так, как я хочу.
Тебе их объединить или соединить надо ? И почитай уже букварь, тебе аж две ссылки дали.
Пример объединения.
SELECT
id,val
from table1
UNION ALL --Про опцию ALL почитай отдельно, может она в твоем случае и не нужна. Без нее как раз только уникальные комбинации объединятся.
SELECT
id,val
from table2
Изменено: Edwardkz, 17 Июнь 2020 - 11:20
Опубликовано 17 Июнь 2020 - 15:39
Увы, ребят, но что-то идет не так, как надо с этими джойнами.
Тогда давай схему своих таблиц, потому что тот пример, что ты давал ранее, легко делается с одним WHERE.
http://sqlfiddle.com/#!9/120d47/13
Опубликовано 06 Август 2020 - 20:59
У меня опять проблема некоторая с Access'ом. На этот раз у меня есть простенькая форма с текстовым полем для ввода юзером туда фигни, и есть запрос, который ее записывает в таблицу. Есть так же макром для кнопки, выполняющий этот запрос. Проблема в том, что если жмакать по кнопке сразу после набора фигни, то передается пустая строка. А если сменить фокус с поля (например на кнопку), то все исправно. Моя хотеть просто жмакать!
Опубликовано 25 Август 2020 - 14:11
У когонть еще есть в загашнике старая платформа MS SQL 2005 ? Собственно сам он не нужен, нужен:
exec sp_addlinkedserver 'myserver', '', 'MSDASQL'
вот этот самый MSDASQL и нужен. Для 2005 скуля под windows server 2003. Обязательно 64 разряда!
Изменено: Edwardkz, 25 Август 2020 - 14:12
Опубликовано 06 Январь 2021 - 11:46
Пытаюсь сейчас построить решение в VS2019 с помощью cmake. Никогда раньше этого не делал и сейчас бы с удовольствием обошелся, но приходится.
(на всякий случай - речь идет о пакете Geant4 под Win10... не думаю, что это сейчас имеет значение.)
Так вот. Пишу в командной строке
> cmake --build . --config Release
и получаю кукиш следующего содержания:
CMake Error:
Generator
Visual Studio 16 2019
could not find specified instance of Visual Studio:
D:/VS2019
Вопрос: какого хрена? Я никогда не устанавливал и не пытался устанавливать VS в эту папку. Она у меня установлена в стандартном месте: C:\Program Files (x86)\Microsoft Visual Studio\2019. Откуда вообще у Цмейка взялась идея искать ее на D, и как объяснить ему, что он неправ?
ЗЫ. На всякий случай тупо скопировал папку \2019 на D под этим самым названием, но результат ровно тот же самый.
ЗЗЫ. Компонента "Средства CMake C++ для Windows" установлена.
Изменено: Ushwood, 06 Январь 2021 - 11:49
Опубликовано 06 Январь 2021 - 11:58
Откуда вообще у Цмейка взялась идея искать ее на D, и как объяснить ему, что он неправ?
С проблемой не сталкивался, но вероятно, прописался в переменных средах неверно.
Совет - до файлов в командной строке лучше стучаться по абсолютному пути, а не относительному, меньше будет подобных проблем.
Опубликовано 06 Январь 2021 - 12:49
В переменных среды никакого намека на путь d:\vs2019 не обнаружилось.
Более того, на cmake.org я нашел вот что:
VS 2019 supports multiple installations on the same machine. The CMAKE_GENERATOR_INSTANCE variable may be set as a cache entry containing the absolute path to a Visual Studio instance. If the value is not specified explicitly by the user or a toolchain file, CMake queries the Visual Studio Installer to locate VS instances, chooses one, and sets the variable as a cache entry to hold the value persistently.
When CMake first chooses an instance, if the VS160COMNTOOLS environment variable is set and points to the Common7/Tools directory within one of the instances, that instance will be used. Otherwise, if more than one instance is installed we do not define which one is chosen by default.
Я обнаружил, что в переменных среды нет переменной VS160COMNTOOLS. Я вписалее туда со значением C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools
Перезагрузил комп и... та же фигня .
Опубликовано 06 Январь 2021 - 17:43
Ошибка именно эта. Хотя у меня действительно есть предыдущие версии Студии, но они тоже все на диске С, по дефолтным путям, а не на D. А то, что там предложили автору вопроса, я уже проделал. Кроме полного реинсталла и Студии, и Цмейка... что, возможно, и придется в итоге сделать...
Не оно ?
Опубликовано 07 Январь 2021 - 18:24
Хм. Это не радикальное решение проблемы. Это "поплыл по течению". Хотя тоже выход. Особенно, если проблему надо решить быстро.Короче, проблему пришлось решать радикально. Я снес Студию, потом заново поставил по этому самому пути.
Изменено: Ipse Impia, 07 Январь 2021 - 18:26
Опубликовано 07 Январь 2021 - 18:33
Короче, проблему пришлось решать радикально. Я снес Студию, потом заново поставил по этому самому пути.
Оно ставится минут 10, насколько помню..
Это вообще самый эффективный метод - если что-то пошло не так, и не понятно, на каком этапе и как чинить - надо попробовать переустановить. В 90% случаев это решит проблему. Да, тупо, но проблема решена, и быстро.
Опубликовано 08 Январь 2021 - 04:10
Лишь частично вник в вашу ситуацию, но у меня была похожая ситуация. Виндоус 7 САМ исправлял пути там, где мне не надо, руководствуясь исключительно моими путями. Неважно, что было прописано, он смотрел лишь на мои, и сам исправлял. Так что даже после переустановки снова ждите перемен.
Опубликовано 23 Февраль 2021 - 15:17
Всем доброго дня, подскажите пожалуйста, а какие сайты где обучают программированию, ( в частности очень нужно 1с программирование) обучают качественно, так понимаю самые крупные geekbrains и skillbox (но отрицательных отзывов не мало по ним) или может что то лучше есть, может кто пробовал?
Опубликовано 23 Февраль 2021 - 17:56
Я смотрел, у нас есть "Гендальф" Таганрог, но так понимаю работе с SQL не обучают они.
Я сейчас тебе открою страшную тайну. Работе с SQL на курсах 1с не обучают вообще. Там учат писать запросы "а ля-SQL" в рамках платформы 1с, что к собственно к SQL имеет не так много отношения. И ежели говорить за SQL, то там диалектов тоже достаточно и в каждом есть свои стандарты. Поэтому для тебя самым лучшим будет определиться, что именно ты хочешь изучать и для чего именно.
Ежели речь таки за 1с, то подготовка на сертификаты "1с специалист", "1с профессионал" везде примерно одинакова и да писать запросы к 1с там тоже обучают.
Опубликовано 23 Февраль 2021 - 21:24
Ежели речь таки за 1с, то подготовка на сертификаты "1с специалист", "1с профессионал" везде примерно одинакова и да писать запросы к 1с там тоже обучают.
Спасибо за ответ, речь именно об 1с и сертифакте про, пока учу самостоятельно по книге Радченко "1С программирование для начинающих", потому и спросил про эти курсы.
Опубликовано 07 Апрель 2021 - 11:08
Хочу настроить сайт так, чтобы все пути с "index,php" перенаправляли на вариант без этой индексной страницы. Для всех страниц сайта. Одного .htaccess в корне сайта хватит? Какие правила там прописать? Пока удалось сделать только для корня всего сайта. Нужно в каждую папку .htaccess положить?
Опубликовано 11 Январь 2022 - 09:54
Платформа MS SQL, есть таблица расписания вида примерно :
1.идентификатор записи (неуникальный)
2.ДатаВремя
Нужно отобрать до двух записей вчера или ранее, до двух записей сегодня, до двух записей завтра или позже. Думаю сделать через оконные функции, но пока в раздумьях как..
Опубликовано 11 Январь 2022 - 10:30
Группируешь по датам и также включаешь в результат дополнительной колонкой номер записи в группе. Далее выбираешь из такого результата все записи, где номер < 3.
SET @num := 0, @type := '';
SELECT `year`, `id`, `rate`,
@num := if(@type = `id`, @num + 1, 1) AS `row_number`,
@type := `id` AS `dummy`
FROM (
SELECT *
FROM `h`
WHERE (
`year` BETWEEN '2000' AND '2009'
AND `id` IN (SELECT `rid` FROM `table2`) AS `temp_rid`
)
ORDER BY `id`
) AS `temph`
GROUP BY `year`, `id`, `rate`
HAVING `row_number`<='5'
ORDER BY `id`, `rate DESC;
Опубликовано 11 Январь 2022 - 13:20
У меня не год, у меня в день может несколько записей быть. По разным идентификаторам ессно.
Что-то синтаксис странный, это не ms sql же ?
Решил через оконные.
select
idroute,dd,max(DateOfShipment),nt from (selectidroute,dd,DateOfShipment,NTILE(2) OVER(Partition by dd Order by DateOfShipment desc) as ntfrom (selectidroute,DateOfShipment,casewhen cast(DATEADD(SECOND,DateOfShipment, '20000101') as Date) = cast(getdate() as date) then 2when cast(DATEADD(SECOND,DateOfShipment, '20000101') as Date) < cast(getdate() as date) then 1when cast(DATEADD(SECOND,DateOfShipment, '20000101') as Date) > cast(getdate() as date) then 3else 0End as ddfrom [dbo].[ShippingTimetable] as s)as t) as tgroup byidroute,dd,nt
Хотя нет, наверное все таки не так.
Изменено: Edwardkz, 11 Январь 2022 - 11:46
Привет!
Насколько мы поняли, вы используете блокировщик рекламы в вашем браузере. Скорее всего, это AdBlock или AdBlock Plus.
Учитывая, сколько агрессивной рекламы можно встретить на различных сайтах, это, возможно, и оправданно.
Однако Riot Pixels — пока ещё небольшой сайт, мы существуем в основном на деньги, получаемые от различных рекламодателей. Пользователей же с установленным AB/ABP на Riot Pixels сейчас — более 30%. Это очень много.
У блокировщиков рекламы есть еще одно плохое свойство — у вас может «поехать» дизайн или перестанут показываться скриншоты.
Мы не хотим предпринимать активных действий в отношении блокировщиков рекламы (например, закрывать контент) — это не по-человечески. Однако и безучастно смотреть никак не можем. Поэтому у нас к вам большая просьба — пожалуйста, внесите Riot Pixels в «белый список» вашего блокировщика. Это поможет нам и дальше жить и развиваться, а вам ничего не будет стоить.
Спасибо!
Команда Riot Pixels.