Вам нужно сгруппировать & 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
Если Вы публикуете через ClickOnce, перейдите к опубликовать странице и нажмите на "Application Files". Оттуда необходимо видеть список DLL. Удостоверьтесь, чтобы у тех, которые дают Вам проблему, был их Публикующий Состояние, отмеченное, как "Включают", а не "Предпосылка".
То, что означает это сообщение об ошибке, - то, что текущие настройки публикации собираются ожидать, что все рассматриваемые блоки будут присутствовать в Глобальном кэше сборок на целевой машине, прежде чем установка сможет произойти. Так как все блоки в GAC должны быть сильны подписанный, любой блок, отмеченный как предпосылка, которая не является сильна подписанный, даст Вам эту ошибку.
Сборки со строгим именем являются главным образом блоками, которые имеют, подписываются криптографическим ключом. Это довольно легко сделать с Visual Studio и не требует переупорядочения Ваших зависимостей.
Я использую неспециальную Visual Studio, таким образом, шаги могут немного отличаться для Вас.
Проверьте эту ссылку... она имеет инструкции для подписания Вашего блока со строгим именем:
Для создания строгого имени просто переходят к Командной строке SDK или Visual Studio 200X, Командная строка затем вводит в следующем
sn -k sgKey.snk
Отошлите эту ссылку для деталей
Затем свяжите строгое имя к своему блоку путем выполнения ниже команды
al /out:MyAssembly.dll MyOldAssembly.dll /keyfile:sgKey.snk
Отошлите эту ссылку для деталей
Убедитесь, что для целевой платформы действительно установлено значение 3.5 или любая другая среда, на которую вы хотите ориентироваться. Иногда происходит ошибка, если он не установлен должным образом.
Это сработало для меня после того, как вышеупомянутые решения не сработали:
Удалите ссылку на ошибочную сборку, затем добавьте ее снова.