Meddelande

Minska
No announcement yet.

Klurig MySQL fråga

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Klurig MySQL fråga

    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?

  • #2
    [kod]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;[/kod]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.
    Gameboy Genius - Foto: Gatukonst och elektronikporr
    Internklippning:
    1) Snaggning av fångar.
    2) Klippning frisörer emellan.

    Kommentera


    • #3
      SQL-frågor ställs bäst i SQL-forumet. Flyttas.
      @aviddevguy

      Kommentera


      • #4
        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;

        Kommentera


        • #5
          ...
          Last edited by dp81; 2012-09-14, 17:17.

          Kommentera

          Working...
          X