Jump to content

Abfrageerstellung


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo liebe Gemeinde, leider habe ich schon wieder ein SQL-Problem und zwar folgendes:

 

Ich habe folgende Abfrage erstellt:

create view [dbo].[vw] as 
select t1.artikel,t1.adresse, t2.firma,t2.s_urerklgueltig, t2.ursprungsland, max(t2.gueltigvon) as gueltigvon
from artikel t1 
join artikellieferant t2 on t1.artikel=t2.artikel and substring(t1.adresse,1,5)=t2.firma 
where t2.s_urerklgueltig=2008 and t2.gueltigvon is not null 
group by t1.artikel,t1.adresse,t2.firma,t2.s_urerklgueltig, t2.ursprungsland 

 

Sinn dieser Abfrage ist es s_urerklgueltig von 2008 auf 2009 zu ändern.

 

ich habe bereits probiert dieses upzudaten, aber irgendwie krieg ich ds nciht hin.

 

es sollte eigentlich nicht so schwer sein, kann mir hier wer helfen?

herzlichen dank!

Link zu diesem Kommentar

Wie wäre es denn mit

Update artikellieferant set s_urerklgueltig = 2009 where s_urerklgueltig = 2008

Damit würden alle Einträge der Tabelle Artikellieferant upgedated, welche in s_urerklgueltig aktuell den Wert 2008 stehen haben.

 

Wofür denn die Verknüpfung des Updates mit deiner ursprünglichen Abfrage? Den Sinn dahinter hab ich noch nicht verstanden.

Link zu diesem Kommentar

Moin,

 

tust du uns einen Gefallen und eignest dir SQL-Grundlagen an? Danke.

 

Deine View führt eine Gruppierung aus. Damit kannst du natürlich kein Update ausführen.

 

Zudem hast du meine Frage offenkundig nicht richtig beantwortet (die View gibt etwas anderes zurück als du behauptest). Bitte gewöhne dir an, dein Problem und die dahinter stehende Anforderung vollständig und korrekt zu beschreiben, sonst werden wir dir nicht helfen können.

 

In der Annahme, dass du alle Zeilen aktualisieren willst, in denen "2008" steht und für die "gueltigvon" gesetzt ist, dürfte es diese Abfrage tun:

 

UPDATE artikellieferant

SET urerklgueltig = '2009'

WHERE urerklgueltig = '2008' AND gueltigvon IS NOT NULL

 

Deine Kriterien stehen ja beide in derselben Tabelle, die du updaten willst. Ein Join ist dann unnötig.

 

Gruß, Nils

Link zu diesem Kommentar

Also, nochmals danke an alle die mir helfen

 

und NilsK: Dies ist ein Forum und das ist dazu da Fragen zu stellen bzw Fragen zu beantworten. Also weiß ich nicht was das soll?

 

Ich hab halt gerade mit SQL begonnen und da ist es noch nicht so einfach alles richtig zu definieren! Ich bemühe mich aber.

 

im übrigen war die lösung wirklich ganz einfach (eh der einfache updatebefehl). Die view hab ich erst nachher erstellen müssen für andere zwecke.

 

also nochmals danke an die helfer und entschuldige NilsK, dass ich hier etwas gefragt habe

Link zu diesem Kommentar

Moin,

 

irmi, du scheinst da etwas misszuverstehen. Wenn ich nicht gefragt werden wollte, würde ich hier nicht antworten. Schließlich kommt die Lösung ja auch von mir. Ich finde also deinen Ton nicht ganz angemessen.

 

Es handelt sich hier um ein Forum. Grundlagen kann man in einem solchen Medium nicht sinnvoll vermitteln. Da es bei dir aber eben genau um solche Grundlagen geht, habe ich dich einfach gebeten, dir solche Grundlagen auf besser geeignete Art anzueignen. Dazu gibt es genügend Möglichkeiten, z.B. Tutorials im Web, Bücher, Seminare ...

 

Für Detailfragen stehen wir gern zur Verfügung.

 

Gruß, Nils

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...