Преобразовать mysql выбрать неагрегат в mssql - PullRequest
0 голосов
/ 05 мая 2020

Я не буду притворяться, что полностью понимаю, что происходит в этом mysql select, но мне нужен его эквивалент ms sql. Он полагается на конфигурацию mysql ONLY_FULL_GROUP_BY, которая будет установлена ​​по умолчанию.

SELECT *, IFNULL(cast(MAX(bodbedrag) as decimal(10,2)),Startprijs) as prijs 
FROM Voorwerp v LEFT JOIN 
     Bod b 
     on v.voorwerpnummer=b.voorwerp 
GROUP BY Voorwerpnummer

В основном я wi sh Я мог бы получить точно такой же результат, как этот mysql запрос получает в ms sql. Однако вы не можете выбрать неагрегаты в ms sql, как вы можете в mysql.

Я попытался преобразовать его с помощью инструмента на http://www.sqlines.com/online, но это было не умно достаточно, чтобы понять, что вы не можете выбрать неагрегаты в мс sql

1 Ответ

0 голосов
/ 05 мая 2020
SELECT * FROM (SELECT *, ISNULL(cast(hoogstebod as decimal(10,2)) ,Startprijs) as prijs
               from voorwerp left join (select max(bodbedrag) as hoogstebod ,voorwerp from bod
               group by voorwerp) t2
               on voorwerpnummer = voorwerp) as combinetable


found a fix
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...