У меня есть алгоритм, который выводит массив в определенном порядке. Пример:
arr = [0, 1, 21, 2, 22, 23, 24, 25, 3, 27, 35, 36, 28, 37, 38, 4, 29, 5, 34, 6, 7, 8, 9, 10, 11, 12]
Массив будет отличаться в зависимости от ввода пользователя, поэтому приведенный выше пример - только одна из множества неопределенных возможностей; длиннее, короче или разные значения (все значения будут целыми числами). Поэтому я не смогу использовать case
в своем запросе.
Я хочу создать запрос SQL-Server в моем views.py , чтобы отобразить все объекты в моей модели в этом точном порядке.
Вот мой "запрос" на данный момент, но, очевидно, он не работает.
test = QuoteAssemblies.objects.raw("""SELECT qmaQuoteAssemblyID,
qmaPartID,
qmaLevel,
qmaPartShortDescription,
qmaQuantityPerParent
FROM QuoteAssemblies
WHERE qmaQuoteAssemblyID IN arr
ORDER BY qmaQuoteAssemblyID = arr""")
По сути, я хочу, чтобы запрос был упорядочен по qmaQuoteAssemblyID
, если он находится в том же порядке массива (не ASC, DESC и т. Д.).
qmaQuoteAssemblyID = 0
qmaQuoteAssemblyID = 1
qmaQuoteAssemblyID = 21
qmaQuoteAssemblyID = 2
etc...
Существует аналогичный пример для MySQL Здесь . Мне просто нужно что-то подобное, но для MSSQL. Приветствия.