dp81Medlem sedan okt. 200447 inlägg Jag har en korsordssida där man kan ange vilka bokstäver man har till ett specifikt ord och få upp en lista med vilka ord som passar in.
Nu tänkte jag utveckla detta så att man kan söka på korsande ord i samma sökning för att begränsa resultatet ytterligare.
Exempel: Första bokstaven i ordet TEST saknas och första bokstaven i det korsande ordet TRUMPET:
?EST
R
U
M
P
E
T
Går det att ställa en sån fråga i MySQL?
SELECT ord1.ord, ord2.ord
FROM ordlista ord1, ordlista ord2
WHERE ord1.ord LIKE 't_st' AND ord2.ord LIKE 'trump_t'
AND SUBSTRING(ord1.ord, 2, 1) = SUBSTRING(ord1.ord, 6, 1)
AND ord1.id <> ord2.id;
Understrecket är ett wildcard. Substring plockar ut en delsträng. Första siffran är startoffset, räknat från 1. Andra siffran är längden på strängen som plockas ut.
Den frågan bör göra det du vill. Däremot suger nog prestandan, så se upp med det.
@ndersMedlem sedan juni 200032 969 inlägg SQL-frågor ställs bäst i SQL-forumet. Flyttas.
dp81Medlem sedan okt. 200447 inlägg Tack så jättemycket för hjälpen!
Ändrade till ord2 på rad 4 så fungerade det :-)
SELECT ord1.ord, ord2.ord
FROM ordlista ord1, ordlista ord2
WHERE ord1.ord LIKE 't_st' AND ord2.ord LIKE 'trump_t'
AND SUBSTRING(ord1.ord, 2, 1) = SUBSTRING(ord2.ord, 6, 1)
AND ord1.id <> ord2.id;