← Back to team overview

sslug-teknik team mailing list archive

Re: MySQL problem

 

Hej, du kan göra en

INSERT INTO dansk (Nummer, Overskrift, osv) SELECT Number,Title,osv FROM
engelsk;

Jag hade skapat en helt ny tabell och slagit ihop dem i den, så har du kvar original datan.

SELECT Nummer, Overskrift, Forfatter, Number, Title, Author
FROM dansk
WHERE Dansk.Tekst LIKE '%tekst_soeg%' group by Overskrift

så dyker titeln bara upp en gång. Du missar dock flera träffar. Om du lägger till COUNT(*) så för du förekomsten av ordet per artikel.

SELECT Nummer, Overskrift, Forfatter, Number, Title, Author, COUNT(*)
FROM dansk
WHERE Dansk.Tekst LIKE '%tekst_soeg%' group by Overskrif;

När det gäller fart så går det inte att göra en indexerad sökning när du använder '%' i början på LIKE, vilket gör att farten inte blir så bra.


Birger Langkjer wrote:
Jeg kan ikke få det til at fungere. Den kan finde artiklerne, men hver
artikel forekommer en hel masse gange, og søgningen tager alt for lang tid.
Er det muligt på en eller anden måde at opdatere den danske tabel med
artiklerne i den engelske, så at man lægger dem sammen?

mvh B

"Claus M. Christiansen" <a@xxxxxxxxxxxxx> skrev i en meddelelse
news:3FDBAE0B.4070606@xxxxxxxxxxxxx...

Du kan bare udvide din query lidt...

SELECT Nummer, Overskrift, Forfatter, Number, Title, Author
FROM dansk, engelsk
WHERE Dansk.Tekst LIKE '%tekst_soeg%' AND/OR
Engelsk.Text LIKE '%tekst_soeg%'  ORDER BY Overskrift, Title;

Om det skal være AND eller OR du bruger afhænger lidt af om teksten skal
være i begge felter eller kun i en af dem. Om du vil ORDER BY to
forskellige er også lidt op til dig selv. Du kan bruge begge eller nøjes
med den ene...

Håber du kan bruge det...

Enjoy...
Claus


Jeg har 2 tabeller i den samme database:

"dansk", felter: Nummer,Overskrift,Forfatter,Tekst
"engelsk", felter: Number,Title,Author,Text

Jeg vil gerne lave en søgeboks, der søger på alle tekster på én gang i

begge

tabeller. Jeg har allerede:

$foresp = mysql_query("SELECT Nummer,Overskrift,Forfatter FROM `dansk`
WHERE Tekst LIKE '%$tekst_soeg%' ORDER BY Overskrift ",$db);

while ($data = mysql_fetch_array($foresp)) {
echo "<p><a
href='artikel_visning.php?artikel=$data[Nummer]'>$data[Overskrift]</a> af
$data[Forfatter]";
}

Hvordan får jeg udvidet denne med tabellen 'engelsk'?

mvh Birger



















References