У меня есть две таблицы MySQL, структурированные следующим образом;MySQL Присоединиться и подсчитать запрос
объявление
+-------------------+--------------+
| Field | Type |
+-------------------+--------------+
| id | int(11) |
| title | varchar(150) |
+-------------------+--------------+
advert_interest_record
+--------------+------------+
| Field | Type |
+--------------+------------+
| id | int(11) |
| advert_id | int(11) |
| message | longtext |
+--------------+------------+
Я хочу, чтобы выбрать список всех записей из таблицы «рекламной» - и получить количество строк из таблицы «advert_interest_record», где реклама .id = response.advert_id.
SQL, который я использую для объединения таблиц, выглядит следующим образом:
SELECT advert.id, advert.title
FROM advert
LEFT JOIN advert_interest_record ON advert.id = advert_interest_record.advert_id
GROUP BY advert_interest_record.advert_id
Первая проблема у меня в том, что, когда нет записей в «advert_interest_record» таблица, запись из таблицы «рекламной» не включена в результате - и мне нужно, чтобы это было ,
Мой второй вопрос: как я могу подсчитать строки в таблице «advert_interest_record»?
Любые советы по этому вопросу будут оценены по достоинству.
Спасибо.
Извините, но не могли бы вы объяснить точку сгруппировки по двум полям, когда первый (id) должен быть уникальным? – raina77ow
Как я уже сказал в своем ответе, я не думаю, что это необходимо для MySQL. Однако другие DBMS'ы дают ошибку при выборе полей, которые не входят в группировку групп. У меня нет непосредственного экземпляра MySQL, работающего здесь на работе; поэтому я выбрал самый безопасный маршрут :). – Yhn
@Yhn: и вы хорошо поработали;) – DonCallisto