SELECT contracts.id,
c1.label AS 'vendor',
c2.label AS 'purchaser',
contracts.label, contracts.amount, contracts.status, contracts.created, contracts.delivered
FROM contracts
INNER JOIN companies AS c1 ON contracts.vendor = c1.id
INNER JOIN companies AS c2 ON contracts.purchaser = c2.id
WHERE contracts.id=15
// Аналогично циклу с использованием Any
return !Beads.Any(n => Vector3.Distance(n.position, pos) < 0.1f);
// Можно с использованием All
return Beads.All(n => !Vector3.Distance(n.position, pos) < 0.1f);
false
, если условие будет выполнено хотя бы раз. Any
в этом случае вернёт true
. Поэтому нужно применить инверсию. Также можно переписать операцию использую метод All
. boycotts
добавить поля likes_count
, dislikes_count
, subscribtions_count
и пересчитывать их значения каждый раз, когда будет добавляться или удалятся запись из соответствующей полю таблице.SELECT `b`.`id`, `b`.`title`, `b`.`description`, `b`.`public`,
(SELECT COUNT(*) FROM `likes` WHERE `boycottid` = :boycot_id) AS `likes`,
(SELECT COUNT(*) FROM `dislikes` WHERE `boycottid` = :boycot_id) AS `dislikes`,
(SELECT COUNT(*) FROM `subscriptions` WHERE `boycottid` = :boycot_id) AS `subscriptions`
FROM (
SELECT `id`, `title`, `description`, `public` FROM `boycotts` WHERE `id` = :boycot_id
) AS `b`