у меня есть две таблицы, связанные через поле ID:SQL запрос, чтобы найти неиспользуемые записи
table1: идентификатор, имя, тип
table2: идентификатор, id_table1, дата, статус
Мне нужно собрать все записи table1
, которые имеют определенное значение type
, и не ссылаются на table2
плюс все записи table1
, указанные в table2
, которые имеют определенное значение поля status
.
Для первой части, если я правильно помню, что я могу использовать LEFT JOIN
команду:
LEFT JOIN table1.name
LEFT JOIN table2
ON table2.id_table1 = table1.id
WHERE (table1.value = 'value1') AND (table2.id_table1 IS NULL);
но для второй части я заблудился ...
Я использую MySQL 5.6 и Я хотел бы определить представление, чтобы справиться с этим.
Это немного трудно следовать вопрос, как его нынешней редакции , Можете ли вы поделиться некоторыми примерами данных и результатом, который вы пытаетесь получить для этих данных? – Mureinik
Вторая часть звучит как обычная 'INNER JOIN'. Объедините их с UNION, чтобы получить оба результата. – Barmar
@Barmar Вторая часть была во многом похожа на вторую часть UNION, предоставленную Cl_3518233 (чуть ниже), но по какой-то причине результирующие строки не были теми, кого я ожидал ... но я, вероятно, ожидал неправильного набора, поэтому я старался для того, чтобы запрограммировать SQL-запрос. – weirdgyn