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

Geschrieben

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!

Geschrieben

erst habe ich mir gedacht, ich mach es so:

 

 update vw

set s_urerklgueltig=2009

where s_urerklgueltig=2008

 

aber das funktioniert nicht, weil ja das s_urerklgueltig verknüpft ist.

 

darum bitte ich dringend um einen Rat.

Geschrieben

Moin,

 

was willst du denn überhaupt updaten? Alle Zeilen und dort das Feld s_urerklgueltig? Oder nur die, wo 2008 drin steht? Oder nur spezielle Zeilen?

 

Ohne das zu wissen, können wir dir keine sinnvolle Hilfestellung geben.

 

Gruß, Nils

Geschrieben

hallo,

 

die abfrage ergibt mir alle zeilen, wo das feld s_.... gleich 2008 ist.

 

und ich möchte dieses abfrageergebnis updaten, so dass in jedem feld wo das fels s_...= 2008 durch 2009 ersetzt wird.

 

 

Ich hoffe ich habe es gut beschrieben?

Geschrieben

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.

Geschrieben

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

Geschrieben

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

Geschrieben

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

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...