Bermuda
Новичок
Какой JOIN использовать?
Есть две таблицы.
Нужно сделать выборку из первой таблицы соеденив ее со второй по
a.id = b.id_a
Выбрать нужно запись с определенным id в таблице а, и определенным id в таблице b.
Если указанный id в таблице b отсутсвует, то вывести ноль вместо значений полей таблицы b.
Делаю запрос
Ожидаю получить
На практике база не возвращает ни одной записи.
Я понимаю, что запрос составлен неправильно.
Подскажите, как составить запрос чтобы достичь ожидаемого эффекта.
Стыдно то как...
Есть две таблицы.
PHP:
CREATE TABLE a (
id int,
field varchar(255)
);
INSERT INTO a (id, field)
VALUES
('1','foo'),
('2','bar'),
('3','foo bar');
CREATE TABLE b (
id int,
id_a int,
field varchar(255)
);
INSERT INTO b (id, id_a, field)
VALUES
(1,1,'aaa'),
(2,1,'bbb'),
(3,4,'ccc'),
(4,5,'ddd');
a.id = b.id_a
Выбрать нужно запись с определенным id в таблице а, и определенным id в таблице b.
Если указанный id в таблице b отсутсвует, то вывести ноль вместо значений полей таблицы b.
Делаю запрос
PHP:
SELECT *
FROM a
LEFT JOIN b ON a.id = b.id_a
WHERE a.id = '1'
AND ((b.id = '3') OR (b.id IS NULL))
PHP:
+------+-------+------+------+-------+
| id | field | id | id_a | field |
+------+-------+------+------+-------+
| 1 | foo | NULL | NULL | NULL |
+------+-------+------+------+-------+
Я понимаю, что запрос составлен неправильно.
Подскажите, как составить запрос чтобы достичь ожидаемого эффекта.
Стыдно то как...