Я получаю результат в БД в виде 3 строк (см. Ссылку на изображение ниже).
Используется оператор SQL
select tevmkt.ev_mkt_id, tevmkt.name, tevmkt.ev_id, tevoc.ev_oc_id,
tevoc.desc, tevoc.fb_result, tevoc.lp_num, tevoc.lp_den,
tev.start_time
from tevmkt, tev,tevoc
where tevmkt.name = '|Match Result|' and tev.ev_id=tevmkt.ev_id and
tevoc.ev_mkt_id=tevmkt.ev_mkt_id and tev.start_time>=Today;
Я хотел бы использовать php для объединения каждой из 3 строк в строку или, возможно, использовать оператор SQL.
Итак, первые 3 строки будут отображаться как;
632274|Match Result||Draw||Aldershot Town||Arsenal FC|
И следующие 3 ряда
637799|Match Result||Draw||Southend United||Oxford United|
Ты можешь использовать CONCAT
Пример базы по вашему запросу
select CONCAT(tevmkt.ev_mkt_id, tevmkt.name, tevmkt.ev_id, tevoc.ev_oc_id,
tevoc.desc, tevoc.fb_result, tevoc.lp_num, tevoc.lp_den,
tev.start_time)
from tevmkt, tev,tevoc
where tevmkt.name = '|Match Result|' and tev.ev_id=tevmkt.ev_id and
tevoc.ev_mkt_id=tevmkt.ev_mkt_id and tev.start_time>=Today;
Для того, что я вижу, ваша модель выглядит примерно так:
CREATE TABLE tevmkt(
ev_mkt_id INT,
ev_id INT,
name CHAR(25)
);
CREATE TABLE tev(
ev_id INT,
start_time DATETIME YEAR TO SECOND
);
CREATE TABLE tevoc(
ev_mkt_id INT,
desc CHAR(25),
fb_result CHAR(1),
lp_num SMALLINT,
lp_den SMALLINT
);
Вы присоединитесь к tevmkt
с tev
от ev_id
в 1-к-1 связь.
Вы фильтруете записи на tevmkt
с использованием name
поле и записи на tev
с использованием start_time
поле.
Теперь вы присоединяетесь к tevmkt
с tevoc
от ev_mkt_id
в отношении один ко многим, за то, что я вижу 1-к-3.
Ваша цель — иметь 1-к-1 также. Глядя на ваш пример, я вижу три строки для каждого события и заключаю, что они:
fb_result
является ЧАС; fb_result
является ; Если дело обстоит именно так, вы можете получить результаты прямо с помощью следующего joins
и фильтры:
SELECT
tevmkt.ev_mkt_id,
tevmkt.name,
(
TRIM(tevoc_result.desc) ||
TRIM(tevoc_away.desc) ||
TRIM(tevoc_home.desc)
) AS desc
FROM tevmkt
JOIN tev ON
tev.ev_id = tevmkt.ev_id
JOIN tevoc tevoc_result ON
tevoc_result.ev_mkt_id = tevmkt.ev_mkt_id
JOIN tevoc tevoc_away ON
tevoc_away.ev_mkt_id = tevmkt.ev_mkt_id
JOIN tevoc tevoc_home ON
tevoc_home.ev_mkt_id = tevmkt.ev_mkt_id
WHERE
tevmkt.name = '|Match Result|'
AND tev.start_time >= TODAY
AND tevoc_result.fb_result NOT IN ('H', 'A')
AND tevoc_away.fb_result = 'A'
AND tevoc_home.fb_result = 'H'
;