Объединение значений из другого запроса спискаC#

Место общения программистов C#
Ответить
Anonymous
 Объединение значений из другого запроса списка

Сообщение Anonymous »

Я использую PostgreSQL с Dapper.
Моя ситуация: у меня есть две таблицы: GameRating и Game из двух баз данных.Сначала я выбираю самую рейтинговую игру, например, у меня Count и GameId (тип данных — Guid).
Затем за столом Game, я хочу упорядочить их по количеству GameId. Данные понравятся

Код: Выделить всё

ListGameIdCountResponse { Count = 1, GameId = 'xxxxx-xxxx-xxxx' }
Затем я превращаю ListGameIdCount в такую ​​строку

Код: Выделить всё

var ListGameIdCount = string.Join(',', ListGameIdCountResponse.Select(p => $"('{p.GameId}',{p.Count})").ToList());
Пример:

Код: Выделить всё

ListGameIdCount =  ('xxxxx-xxxx-xxxx',10),('xxxxx-bbbb-xxxx',9)
Итак, запрос на получение трендовой игры будет выглядеть следующим образом:

Код: Выделить всё

SELECT  g."Name",g."Id"
FROM  "Games" g
LEFT JOIN (VALUES {0}) as TrendingGameCount (GameId,Count)
ON g.""Id"" = TrendingGameCount.GameId ::uuid
ORDER BY TrendingGame.Count DESC
После этого я использую string.Format для привязки значения к запросу

Код: Выделить всё

var queryBinding =  string.format(query,ListGameIdCount);
Проблема, с которой я столкнулся сейчас после привязки ListGameIdCount к запросу: значение имеет двойную кавычку
Пример

Код: Выделить всё

LEFT JOIN (VALUES "('xxxxx-xxxx-xxxx',1))" as TrendingGameCount (GameId,Count)
Я хочу, чтобы

Код: Выделить всё

LEFT JOIN (VALUES ('xxxxx-xxxx-xxxx',1)) as TrendingGameCount (GameId,Count)
Я пытаюсь заменить или обрезать двойную кавычку перед привязкой данных к запросу, но это не работает


Подробнее здесь: https://stackoverflow.com/questions/783 ... list-query
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»