Announcement

Collapse
No announcement yet.

Hilfe bei SELECT

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hilfe bei SELECT

    Hallo allerseits,
    ich möchte ein verschachteltes SELECT machen, aber wahrscheinlich stimmt die Syntax nicht. Ich versuch mal den einfachsten Fall zu beschreiben

    Folgendes funktinoiert:
    Code:
    SELECT field1 FROM table1 
    WHERE field1 LIKE (SELECT field2 FROM table2 WHERE field2 = 'test')
    Jetzt möchte ich aber, dass auch solche Daten gefunden werden, die an irgendeiner Stelle das Wort 'test' enthalten.
    Folgendes geht nicht:

    Code:
    SELECT field1 FROM table1
    WHERE field1 LIKE '%(SELECT field2 FROM table2 WHERE field2='test')%'
    Ist verständlich was ich erreichen will? Wie muss ich das Ganze formulieren? Oder geht das in der Art gar nicht? Und wenn nein, wie kann ich mein Ziel trotzdem erreichen?
    Vielen Dank für Eure Anregungen.

    Gruß,
    Tom

  • #2
    Geschafft

    Habe es so hinbekommen:

    Code:
    SELECT field1 FROM table 1
    WHERE field1 LIKE CONCAT("%",(SELECT field2 FROM table2 WHERE field2='test'),"%")

    Comment


    • #3
      Originally posted by bps-tom View Post
      Habe es so hinbekommen:

      Code:
      SELECT field1 FROM table 1
      WHERE field1 LIKE CONCAT("%",(SELECT field2 FROM table2 WHERE field2='test'),"%")
      Sorry, aber da sträuben sich ja die Nackenhaare

      Dein inneres Select liefert IMMER 'test' (WHERE-Bedingung). Das kannst du sehr viel einfacher so erreichen:
      [highlight=sql]
      SELECT field1 FROM table 1
      WHERE field1 LIKE '%test%'
      [/highlight]
      Meintest du aber vielleicht eher sowas:
      [highlight=sql]
      SELECT field1 FROM table 1
      WHERE field1 in (SELECT field2 FROM table2 WHERE field2 like '%test%')
      [/highlight]

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        Hi,
        also machen möchte ich eigentlich folgendes:
        (ich versuch's mal mit meinen Worten zu erläutern)

        Code:
        SELECT field1 FROM table1
        WHERE "field1 ist Teilstring von field2 aus table2"
        ich hab auch schon an SUBSTR gedacht, aber dafür braucht man ja die
        Position, und die kann immer etwas anderes sein. Es ist eigentlich keine
        Zeichenfolge vorher bekannt.

        Gruß,
        Tom

        Comment


        • #5
          Hi,

          wie wär's denn hiermit?:

          SELECT field1 FROM table1
          WHERE field1
          like '%test%'
          and exists
          (SELECT field2 FROM table2 WHERE field2=field1)

          Gruß
          docendo discimus

          Comment


          • #6
            Hi,

            das war jetzt eine Überschneidung der Beiträge.
            docendo discimus

            Comment


            • #7
              Ney, vergesst mal den 'test'-String, da hab ich euch auf die falsche Fährte gelockt.
              Ich will eigentlich überprüfen, ob field1 aus table1 ein Teilstring von field2 aus table2
              ist...

              Grußle

              Comment


              • #8
                So vielleicht?

                SELECT field1 FROM table1
                WHERE field1
                like '%test%'
                and exists
                (SELECT field2 FROM table2
                WHERE field1 LIKE CONCAT("%",field2,"%"))
                docendo discimus

                Comment


                • #9
                  Schon wieder eine Überschneidung, aber vielleicht kannst Du trotzdem etwas damit anfangen.
                  docendo discimus

                  Comment


                  • #10
                    Ja, danke, so geht's - das mit dem CONCAT war auch die einzige Lösung, die ich gefunden habe, aber da standen dem Herrn Prüfer ja die Haare zu Berge
                    Naja, vielleicht war das auch nur wegen meinem irreführenden 'test'-String.
                    Auf jeden Fall geht es so, aber das SELECT sieht sehr hässlich und sehr
                    unübersichtlich aus...ist nämlich in Wirklichkeit noch um Einiges umfangreicher.

                    Vielen Dank für Eure Hilfe,
                    Gruß,
                    Tom

                    Comment

                    Working...
                    X