Insert Into t2 (a,b) select (x) from t1, '$x' ???

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Insert Into t2 (a,b) select (x) from t1, '$x' ???

    Ich habe zwei Tabellen. Von Tabelle 1 moechte ich Werte in Tabelle 2 kopieren. In einem der Felder von Tabelle 2 soll aber die MemberID aufgefuehrt werden.

    Beispiel:

    Member Peter sei mit der ID=4 gerade eingeloggt.
    Es gibt Tabelle 1 mit folgendem Inhalt
    TB1
    x |
    Eins
    Zwo
    Drei

    Nun mochte ich eine Query, die die Werte von TB1 in TB2 kopiert und gleichzeitig die MemberID=4 in das Feld b schreibt.
    Also in die Richtung: Insert Into t2 (a,b) select (x) from t1, '$x'
    (Nur geht diese Query natuerlich nicht)

    Tabelle 2 soll also nach der Query so aussehen
    TB2
    a | b
    Eins | 4
    Zwo | 4
    Drei | 4


    Wer hat Hilfe anzubieten?

  • #2
    aha, du möchtest ein template kopieren.

    Aus der Theorie würde eine table subquery gehen etwa so wie du es formuliert hast. Ich würde die Subquery als "(SELECT x,'$id' from TBL1)" schreiben.
    Allerdings ist mir im sql manual unter INSERT kein entsprechendes Bsp begegnet, aber auch keine Einschränkung.

    Kommentar


    • #3
      Warum nicht einfach sowas ...

      Insert Into t2 (a,b) select x, 4 from t1
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar


      • #4
        $query="INSERT INTO tbl_test (a,b,c)
        SELECT MONTHNAME(datum),YEAR(datum),'$id' FROM kalender";

        Subquery muss in (..) stehen, aber INSERT ist offenbar die Ausnahme.

        Kommentar


        • #5
          Sorry,
          Hab glaube ich mit meinen etwas ungluecklich gewaehlten Variablen verwirrung gesorgt??. (Das x im titel haette eher ein anderer Buchstabe sein sollen)

          Hier die abgeaenderte Beschreibung:
          Ich habe 2 Tabellen (Eine mit Inhalt und die andere in die der Inhalt angefuegt/kopiert werden soll).
          Dann noch eine Person die gegenwaertig eingeloggt sei(Diese hat aber nichts mit den Tabellen zu tun).

          Nun moechte ich den Inhalt einer Tabelle in die andere kopieren, jedoch so, dass die ID der Person mit in die Tabelle geschrieben wird.

          Soll/koennte also so aussehen:
          __________________________
          $R='memberID' (z.B.4)

          Tabelle1:
          IDx | Info
          1 | Eins
          2 | Zwo
          3 | Drei

          In Tabelle 2 soll alles kopiert werden sobald der Nutzer zB einen Knopf drueckt. In jedes Feld 'member' soll also $R eingetragen werden:
          Tabelle 2
          IDy | IDx | member
          1 | 1| 4
          2 | 2 | 4
          3 | 3 | 4

          Wenn ein neuer Nutzer das selbe tut. (dieser hat z.b. ID8, der naechste ID 12). Dann soll die aktualisierte Tabelle 2 so aussehen:
          IDy | IDx | member
          1 | 1| 4
          2 | 2 | 4
          3 | 3 | 4
          4 | 1| 8
          5 | 2 | 8
          6 | 3 | 8
          7 | 1| 12
          8 | 2 | 12
          9 | 3 | 12

          Die Query soll also folgendes machen:

          1) Kopiere alle Reihen des Feldes 'IDx' von Tabelle1 in das Feld IDx von Tabelle2 und
          2) Schreibe in jede neu entstandene Reihe die Variable $R in das Feld 'member'

          Ich hoffe Ihr koennt mir helfen

          Kommentar


          • #6
            Es ist dir schon geholfen worden.

            es geht mit INSERT...SELECT...

            siehe php Manual unter etwa dieser Ueberschrift.
            Zuletzt geändert von phoenix20; 01.06.2006, 20:37.

            Kommentar


            • #7
              um es dir noch deutlicher zu schreiben, du warst schon nah dran

              fast richtig: Insert Into t2 (a,b) select (x) from t1, '$x'

              richtig: Insert Into t2 (a,b) select x, '$x' from t1
              Zuletzt geändert von phoenix20; 01.06.2006, 20:55.

              Kommentar


              • #8
                Vielen Dank, hat geklappt,
                solangsam komm ich auf eigene Ideen, war ja schliesslich schon knapp dran...

                Kommentar

                Lädt...
                X