Autor Zpráva
Panasonixon
Profil *
Dobrý večer, potřeboval bych pomoci se slučováním příspěvků

mám tabulku posts a chci vytahnout 2 příspěvky a následně je spojit a uložit do DB pouze ten upravený

snažil jsem se pomocí
select text from `posts` WHERE id IN (11,12)
ale nevím jak odlišit ty texty na text 11 a text 12

chtěl jsem použít Join Left ale nemám pro něj podmínku za ON...
Jan Tvrdík
Profil
select id, text from `posts` WHERE id IN (11,12)
Panasonixon
Profil *
o tohle mi nešlo...
nevím jak je potom dotazu rozlisit a spojit
$prispevek=text_post1."
Sloučeno: datum
".text_post2
Tori
Profil
Panasonixon:
Koukněte se do vlákna ORDER BY - posloupnost jako v podmínce IN jak seřadit výsledky dotazu ve stejném pořadí, jako jsou v části WHERE (pokud to potřebujete tak řadit). Potom v PHP projdete výsledky, poskládáte dohromady a uložíte (a asi smažete ten přebytečný řádek). Nebo jste to chtěl spojit bez PHP jen nějakým SQL dotazem? Asi nerozumím, na co se přesně ptáte.
Panasonixon
Profil *
Tori pochopila jste to správně, potřebuji vytáhnout 2 příspěvky podle 'id' sloučit jejich sloupce 'text' + doplnit textem o sloučení, následně zpět uložit a ten novější odstranit (již je vložen do staršího)
tatyalien
Profil
Testnul bych něco podobného:
UPDATE posts SET text = CONCAT(text, ' text pro rozdělení ', (SELECT text FROM posts WHERE id = 12 LIMIT 1)) WHERE id = 11;

Případně natáhnout všechny příspěvky a pomocí while si je poskládat do nového pole a to pak nahrát do DB.

U toho joinování jen selectu by šlo:

SELECT a.id, a.text, b.text FROM `posts`as a LEFT JOIN 'posts' as b ON (b.id = 11) WHERE a.id = 12
Panasonixon
Profil *
to je ono... děkuji
tatyalien
Profil
Panasonixon:
A které řešení? update, nebo select :-)
Panasonixon
Profil *
použil jsem ten SELECT

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: