praktikantin
Goto Top

SQL Update Befehl die Zweite

Hallo Leute,

ich schäme mich wirklich für meine so einfachen Fragen, aber ich habe lange gesucht und nachgedacht aber ich finde keine Antwort. Also, ich will ein update auf eine Tabelle machen. Ich will aber ein paar Zeilen ausschließen. Hier die Frage die ich erstellt habe

update ii
set sku = dbo.Remove_lead_zeros(sku)
from invoice_items as ii
inner join invoice as inv
on inv.inv_id=ii.inv_id
where inv.retailer_id <> 1282 and (inv.retailer_id <> 2 and inv.sender_id <> 739)
So klappt aber nicht das was ich will.

1282 ausschließen und die Beziehung (retailer 2, sender 739)
Ich will alle mit retailer_id 1282 ausschließen und die die retailer_id 2 und sender_id 739 haben. Wenn es jemand mit retailer_id = 2 und als sender_id eine andere Nummer hat denn soll er nicht ausgeschlossen werden und umgekehrt. Ich will also wenn diese zwei (2,739) auftauchen ausschließen. Diese Beziehung. Ich hoffe ich habe mich klar genug ausgedruckt.

Danke für eure Hilfe.

Praktikantin

Content-ID: 90524

Url: https://administrator.de/forum/sql-update-befehl-die-zweite-90524.html

Ausgedruckt am: 26.12.2024 um 01:12 Uhr

Logan000
Logan000 24.06.2008 um 13:41:35 Uhr
Goto Top
Moin

ich will alle mit retailer_id 1282 ausschließen und die die retailer_id 2 und sender_id 739 haben.
Wenn ich Dich richtig verstehe sollte dein Wherepart so angepasst werden:
where inv.retailer_id <> 1282 Or (inv.retailer_id <> 2 and inv.sender_id <> 739)

Gruß L.
Praktikantin
Praktikantin 24.06.2008 um 14:02:20 Uhr
Goto Top
Hallo Logan und danke für Deine schnelle Antwort. Nein ich will die retailer 1282 und 2 ausschließen aber der retailer 2 soll nur ausgeschloßen werden wenn der sender die Nummer 739 hat. Mit meiner SQL Abfrage werden alle ausgeschloßen. Ich werde es aber mit deiner SQL Abfrage probieren.

Danke
Logan000
Logan000 24.06.2008 um 15:01:02 Uhr
Goto Top
Ok, Ich hab dir da auch Mist geschrieben (Wer lesen Kann ist klar im Vorteil face-wink )

Du must mit einer Unterabfrage arbeiten.
Etwa so:
update ii
set sku = dbo.Remove_lead_zeros(sku)
From invoice_items  as ii
Where ii.inv_id Not in(
  Select ii.inv_id
  from invoice_items as ii
  inner join invoice as inv
  on inv.inv_id=ii.inv_id
  where inv.retailer_id = 1282 or (inv.retailer_id = 2 and inv.sender_id = 739)
)

Gruß L.
Praktikantin
Praktikantin 24.06.2008 um 15:16:58 Uhr
Goto Top
Danke Logan,

ich denke das klappt. Ich melde mich wieder um Dir nochmals zu danken face-wink und um Dir zu erzählen ob es geklappt hat.

Viele liebe Grüsse

Praktikantin
Praktikantin
Praktikantin 24.06.2008 um 16:46:02 Uhr
Goto Top
Hallo Logan,

Dieses mal hat es geklappt. Vielen, vielen dank!!!!