Announcement

Collapse
No announcement yet.

update über zwei oder mehr tabellen

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

  • update über zwei oder mehr tabellen

    Hallo, wie kann ich mit einem "update" zwei oder mehr tabellen updaten?
    also so stelle ich mir das so vor

    update tabelle1 set spalte1 = 1
    and tabelle2 set spalte1 = 3

    das geht ja leider nicht. wie würde sowas gehn?

  • #2
    Könntest du etwas genauer beschreiben, wozu das in deinem Kontext dienen soll? Ansonsten spricht ja erstmal nichts gegen mehrere Statements.
    Gruß,
    Matze

    Comment


    • #3
      wie könnte das mit mehreren Statements aussehn? bin leider blutiger anfänger
      und über das and klapts nicht auch nicht
      update tabelle1 A, tabelle2 B set a.spalte1 = xxx, b.spalte1 = yy
      was ich irgendwo für mysql gefunden hab klapt hier leider auch nicht ;(

      Comment


      • #4
        Naja, so gehts auf jeden Fall
        Update table1 a Set a.Spalte1 = 'xxx';
        Update table2 b Set b.Spalte1 = 'yyy';

        Oder willst du was anderes machen?

        Comment


        • #5
          es kommt nach dem update ein where
          und wenn ich beide update so setze wie matze83 meinte wird das where ja nur beim zweiten update angewendet?

          Comment


          • #6
            Und wenn du:
            Update table1 a Set a.Spalte1 = 'xxx' WHERE bedingung;
            Update table2 b Set b.Spalte1 = 'yyy' WHERE bedingung;
            draus machst!!?

            Oder verstehe ich dein Problem falsch?

            Comment


            • #7
              ich werd mal genauer also meine aktuelle sql anweisung sieht so aus :

              USE [SuperOffice]
              update crm5.person set post1 = 1
              where person_id in(
              select person_id from crm5.person a
              where
              exists (
              select * from crm5.person a1 where a1.person_id <> a.person_id
              and a1.firstname = a.firstname and a1.lastname = a.lastname and a1.contact_id=a.contact_id)
              and exists (
              select * from crm5.phone b where b.owner_id = a.person_id
              and b.phone not like '0%')
              )

              jetzt soll zusätzlich wenn crm5.person post1 = 1
              ist in tablelle crm5.interest die spalte post2 = 0
              gesetzt werden

              Comment


              • #8
                Also spontan am einfachsten erscheint mir ne stored Procedure, wo du dann je nach post1 ZUstand noch nen Update laufen lässt, oder eben nicht.

                Comment


                • #9
                  hmm hab ich schon erwähnt das ich leider absolut kein plan von sql hab? wärst so nett mir das umzuschreiben?

                  Comment

                  Working...
                  X