Size: a a a

2020 May 30

M

Marshal Zhukov in MySQL
источник

DE

Denis Efremov in MySQL
У кораблей из Outcomes нету класса
источник

DE

Denis Efremov in MySQL
Так что задача некорректна в принципе
источник

M

Marshal Zhukov in MySQL
То есть надо привязать out comes with ships?
источник

DE

Denis Efremov in MySQL
Нет
источник

DE

Denis Efremov in MySQL
Просто задача некорректна
источник

DE

Denis Efremov in MySQL
SELECT S.*, MAX(C.numGuns) FROM Ships S
LEFT JOIN Classes C
 ON C.class = S.class
GROUP BY numGuns


Ваще как то так
источник

M

Marshal Zhukov in MySQL
Пишет инвалид, ну я тебя понял, я так в начале по одной таблице тестил
источник

V

Vitaly in MySQL
кидайте это дело ) до запуска SpaceX 14 минут
источник

M

Marshal Zhukov in MySQL
Такую рекомендацию выдаёт сам сайт, вроде я действовал по этому указанию
источник

M

Marshal Zhukov in MySQL
Я попробовал сделать с order by и LIMIT, но здесь не работает
источник

M

Marshal Zhukov in MySQL
То есть отсортировать первые высокие значения по numguns и выбрать первую строку
источник

MA

Mark Andriewski in MySQL
Господа, мб, кто подскажет как можно решить следующие:

Есть обьект, у которого может быть несколько записей, но есть уникальный id среди версий - VsId и колонка Имя.
Имя может быть закреплено лишь единожды за этим обектом к его версии.

Т.е. есть обьект Вася. Он меняет имя на Василий версия у него 2. В базе есть 2 записи:

Id: 1, VsId 11 Имя: Вася
Id: 2, VsId: 11 Имя: Василий

Если кто-то захочет создать запись в Вася или Василий - у него должен упасть constraint.

Это имя должно быть только разрешено для

VsId: 11

Т.е.можно создать новую запись
Id:3 VsId: 11 Имя Вася


Как это вообще можно обеспечить?

На Postgresql сделал через unique index и check constraint. На Оракле через unique index и trigger


Быть может, есть какое-то адекватное решение, которое будет четко работать?
источник

m

m in MySQL
а на оракле уник констрейнт запретили? зачем триггер
источник

MA

Mark Andriewski in MySQL
m
а на оракле уник констрейнт запретили? зачем триггер
При создании 3й записи упадет unique constraint если его сделать для (vsId, Name)
источник

MA

Mark Andriewski in MySQL
Id: 1, vsId 11, Имя Вася
Id: 2, vsId 11, Имя Василий
__
Id:3 vsId: 11, Имя Вася -- Unique constraint
источник

MA

Mark Andriewski in MySQL
Для оракла check constraint не подходит, т.к. функция должна быть детерминированной если ее загонять в check constraint.

Т.е. вариант с 3й записью должен работать, но для записей у которого VsId не равен 11 имя Вася и Василий должны быть недоступны
источник

DE

Denis Efremov in MySQL
Marshal Zhukov
Такую рекомендацию выдаёт сам сайт, вроде я действовал по этому указанию
Я делаю объединение JOIN и группировку GROUP BY. А ты я даже вникать не стал если честно.
источник

DE

Denis Efremov in MySQL
WITH - WTF ваще?
источник

DE

Denis Efremov in MySQL
USING ещё куда ни шло, но не WITH
источник