Я пытаюсь сделать эту работу запроса, вот моя логика, я пытаюсь выбрать запись тот не существует по крайней мере не один из этих вариантов:Несколько не exsits в MYSQL, чтобы проверить количество строк
1). status = Approved AND end_date >now
2). status =Approved AND end_date is NULL
3). status = Pending And end_date is NULL & COUNT(id) =1
4). status =Pending AND end_date >now & COUNT(id) =1
5). status =Pending AND end_date <now & COUNT(id) =1
как это сделать, это то, что у меня есть до сих пор. Я не уверен, как проверить COUNT (id) = 1 в условиях 3, 4 и 5?
SELECT
*
FROM
outreach
WHERE
NOT EXISTS (
SELECT
*
FROM
outreach_links
WHERE
outreach_links.outreach_id = outreach.id
AND STATUS = "Approved"
AND end_date > now()
)
AND NOT EXISTS (
SELECT
*
FROM
outreach_links
WHERE
outreach_links.outreach_id = outreach.id
AND STATUS = "Approved"
AND end_date IS NULL
)
AND NOT EXISTS (
SELECT
*
FROM
outreach_links
WHERE
outreach_links.outreach_id = outreach.id
AND STATUS = "Pending"
AND end_date > now()
)
AND NOT EXISTS (
SELECT
*
FROM
outreach_links
WHERE
outreach_links.outreach_id = outreach.id
AND STATUS = "Pending"
AND end_date IS NULL
)
AND NOT EXISTS (
SELECT
*
FROM
outreach_links
WHERE
outreach_links.outreach_id = outreach.id
AND STATUS = "Pending"
AND end_date < now()
)
wuar is! = Now? У меня нет этого условия, у меня есть> или меньше или нулевое – user3150060
, потому что 4)> сейчас, 5) <сейчас и 3) не равно нулю. Это дает нам! = Сейчас ... l – Alexey
Я получил его на работу, но мой вопрос, если я хочу выбрать ol.cost из MAX (ol.end_date), как я могу это сделать? – user3150060