Сильные блоки со знаком

Вам нужно сгруппировать & amp; агрегат. Обратите внимание на пункты max( ) и group by:

SELECT  xg_posts.post_title,
        xg_posts.post_content,
        max(CASE WHEN xg_postmeta.meta_key="bgmp_address" THEN xg_postmeta.meta_value ELSE NULL END) AS address,
        max(CASE WHEN xg_postmeta.meta_key="bgmp_latitude" THEN xg_postmeta.meta_value ELSE NULL END) AS latitude,
        max(CASE WHEN xg_postmeta.meta_key="bgmp_longitude" THEN xg_postmeta.meta_value ELSE NULL END AS longitude
FROM    xg_postmeta, xg_posts
WHERE   xg_posts.post_type = "bgmp"
    AND xg_postmeta.post_id = xg_posts.ID
    AND (xg_postmeta.meta_key = "bgmp_address"
    OR  xg_postmeta.meta_key = "bgmp_latitude"
    OR  xg_postmeta.meta_key = "bgmp_longitude")
GROUP BY xg_posts.post_title,
         xg_posts.post_content
ORDER BY xg_posts.post_title ASC

В зависимости от того, о чем post_content, вам может понадобиться применить к нему max и удалить его из предложения group by :

SELECT  xg_posts.post_title,
        max(xg_posts.post_content) AS post_content,
        max(CASE WHEN xg_postmeta.meta_key="bgmp_address" THEN xg_postmeta.meta_value ELSE NULL END) AS address,
        max(CASE WHEN xg_postmeta.meta_key="bgmp_latitude" THEN xg_postmeta.meta_value ELSE NULL END) AS latitude,
        max(CASE WHEN xg_postmeta.meta_key="bgmp_longitude" THEN xg_postmeta.meta_value ELSE NULL END AS longitude
FROM    xg_postmeta, xg_posts
WHERE   xg_posts.post_type = "bgmp"
    AND xg_postmeta.post_id = xg_posts.ID
    AND (xg_postmeta.meta_key = "bgmp_address"
    OR  xg_postmeta.meta_key = "bgmp_latitude"
    OR  xg_postmeta.meta_key = "bgmp_longitude")
GROUP BY xg_posts.post_title
ORDER BY xg_posts.post_title ASC
27
задан Jason Shoulders 6 April 2009 в 13:01
поделиться

6 ответов

Если Вы публикуете через ClickOnce, перейдите к опубликовать странице и нажмите на "Application Files". Оттуда необходимо видеть список DLL. Удостоверьтесь, чтобы у тех, которые дают Вам проблему, был их Публикующий Состояние, отмеченное, как "Включают", а не "Предпосылка".

То, что означает это сообщение об ошибке, - то, что текущие настройки публикации собираются ожидать, что все рассматриваемые блоки будут присутствовать в Глобальном кэше сборок на целевой машине, прежде чем установка сможет произойти. Так как все блоки в GAC должны быть сильны подписанный, любой блок, отмеченный как предпосылка, которая не является сильна подписанный, даст Вам эту ошибку.

50
ответ дан Adam Robinson 28 November 2019 в 04:38
поделиться

Сборки со строгим именем являются главным образом блоками, которые имеют, подписываются криптографическим ключом. Это довольно легко сделать с Visual Studio и не требует переупорядочения Ваших зависимостей.

Я использую неспециальную Visual Studio, таким образом, шаги могут немного отличаться для Вас.

  • Щелкните правой кнопкой по и избранным свойствам проекта
  • Нажмите на вкладку Signing
  • Проверьте, "Подписывают блок"
  • В поле комбинированного списка выбирают" <Новый...>"
  • Завершите мастер
  • Восстановить
4
ответ дан JaredPar 28 November 2019 в 04:38
поделиться

Проверьте эту ссылку... она имеет инструкции для подписания Вашего блока со строгим именем:

MSDN: подписание блока со строгим именем

3
ответ дан Justin Niessner 28 November 2019 в 04:38
поделиться

Для создания строгого имени просто переходят к Командной строке SDK или Visual Studio 200X, Командная строка затем вводит в следующем

sn -k sgKey.snk

Отошлите эту ссылку для деталей

Затем свяжите строгое имя к своему блоку путем выполнения ниже команды

al /out:MyAssembly.dll MyOldAssembly.dll /keyfile:sgKey.snk

Отошлите эту ссылку для деталей

2
ответ дан Binoj Antony 28 November 2019 в 04:38
поделиться

Убедитесь, что для целевой платформы действительно установлено значение 3.5 или любая другая среда, на которую вы хотите ориентироваться. Иногда происходит ошибка, если он не установлен должным образом.

0
ответ дан 28 November 2019 в 04:38
поделиться

Это сработало для меня после того, как вышеупомянутые решения не сработали:

Удалите ссылку на ошибочную сборку, затем добавьте ее снова.

1
ответ дан 28 November 2019 в 04:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: