Я искал решение в течение нескольких дней, и я начинаю чувствовать себя настоящим идиотом.Выбор из двух таблиц, ограничение на первое
У меня есть две таблицы.
entries link
+----------+-------+-----+ +----------+------+
| date | title | txt | | date | tag |
+==========+=======+=====+ +==========+======+
|2014-01-01| titl1 | txt1| |2014-01-01| tag1 |
|2014-01-02| titl2 | txt2| |2014-01-01| tag2 |
|2014-01-03| titl3 | txt3| |2014-01-01| tag3 |
|2014-01-04| titl4 | txt4| |2014-01-02| tag1 |
|2014-01-05| titl4 | txt4| |2014-01-02| tag2 |
|2014-01-06| titl4 | txt4| |2014-01-03| tag1 |
|2014-01-07| titl4 | txt4| |2014-01-04| tag2 |
|2014-01-08| titl4 | txt4| |2014-01-04| tag4 |
+----------+-------+-----+ +~~~~~~~~~~+~~~~~~+ 'link' continues
Я хочу * от «записей», упорядоченных по дате «», ограниченных 4, а также все соответствующие «тега из„ссылки“для каждой записи.
«дата» из «записей» является первичным ключом, если это важно. «link» не имеет первичных ключей, так как будут дубликаты «даты» и «тега».
Публикация здесь была последней инстанцией, поскольку я вообще ненавижу полагаться на помощь, чтобы что-то сделать, но я полностью исчерпал умственную способность продолжать попытки.
У меня есть этот запрос, который захватывает одну запись и соответствующий тег и ограничивает число на 4, но он не захватывает/все/теги для каждой записи.
SELECT date, title, txt
FROM entries
WHERE date IN (
SELECT date
FROM link
WHERE date = entries.date
)
LIMIT 4
Если я 'реверс' это и попробовать,
SELECT date, tag
FROM link
WHERE date IN (
SELECT date
FROM entries
WHERE date = link.date
)
LIMIT 4
Это ограничивает четыре строки из 'ссылки'.
Надеюсь, я объяснил, что я хочу правильно. Если бы я был неясен, я могу попробовать еще раз.
Проблема теперь, если на примере '2014-01-01' имеется 3 связанных элемента в таблице' link'. В запросе JOIN, который объединяет данные из обеих таблиц, это приведет к 3 записям. SOo, вы хотите, чтобы три тега с 2014-01-01 и первый тег от 2014-01-02 в вашем лимите 4 или вы пытаетесь ограничить диапазон дат для записей и получить все теги для каждого из 4 даты (что потребует некоторой агрегации)? –
Все теги для каждой из четырех записей. Я отредактирую главный пост, чтобы это отразить. – TanzNukeTerror