Die Daten aller Teile einschließlich der bestellten Anzahl
select T.*, sum (BestAnz) as BestellteAnzahl
from Teil T join (select TeilNr, Anzahl
from Position) as BAnzahl(TeilNr, BestAnz)
on T.TeilNr = BAnzahl.TeilNr
group by T.TeilNr, T.Bezeichnung, T.Material, T.Gewicht, T.Preis
from Teil T join (select TeilNr, Anzahl
from Position) as BAnzahl(TeilNr, BestAnz)
on T.TeilNr = BAnzahl.TeilNr
group by T.TeilNr, T.Bezeichnung, T.Material, T.Gewicht, T.Preis
Tags: sql
Quelle:
Quelle:
SQL: In der Tabelle Booking sollte ein Attribut X neu definiert werden. Es gibt
verschiedene Lösungswege, z.B. mit einem Trigger.
Gefragt war wie man es hinbekommt das Feld duration immer die differenz von
datefrom - dateto anzeigt.
verschiedene Lösungswege, z.B. mit einem Trigger.
Gefragt war wie man es hinbekommt das Feld duration immer die differenz von
datefrom - dateto anzeigt.
Ich hoffe richtig!? ;-)
create trigger x
after insert or update of datefrom or dateto on Booking
for each statement [wenn jede Zeile, dann row anstatt statement]
begin
update Booking
set duration = dateto - datefrom
end
create trigger x
after insert or update of datefrom or dateto on Booking
for each statement [wenn jede Zeile, dann row anstatt statement]
begin
update Booking
set duration = dateto - datefrom
end
Tags: sql, trigger
Quelle:
Quelle:
Geben Sie für folgende Abfrage eine Formulierung in SQL an:
"AuftragsNr, KundenNr und die Anzahl bestellter Teile je Auftrag."
Bedenken Sie, dass es zwar Positionen ohne Auftrag geben kann, sehr wohl aber Aufträge ohne Position. Für solche Aufträge soll als Anzahl 0 erscheinen.
"AuftragsNr, KundenNr und die Anzahl bestellter Teile je Auftrag."
Bedenken Sie, dass es zwar Positionen ohne Auftrag geben kann, sehr wohl aber Aufträge ohne Position. Für solche Aufträge soll als Anzahl 0 erscheinen.
select A.AuftragsNr, A.KundenNr, coalesce(cast(sum(P.Anzahl) as int), 0)
from Auftrag A
left join Position P on P.AuftragsNr = A.AuftragsNr
Group by A.AuftragsNr, A.KundenNr
from Auftrag A
left join Position P on P.AuftragsNr = A.AuftragsNr
Group by A.AuftragsNr, A.KundenNr
Tags: sql
Quelle:
Quelle:
In SQL:
Diejenigen Teile, die schwerer sind als das durchschnittliche Gewicht aller Teile aus dem gleichen Material.
Diejenigen Teile, die schwerer sind als das durchschnittliche Gewicht aller Teile aus dem gleichen Material.
select T.TeilNr
from Teil T
where T.Gewicht > all (select avg(Gewicht)
from Teil T2
where T.Material = T2.Material)
from Teil T
where T.Gewicht > all (select avg(Gewicht)
from Teil T2
where T.Material = T2.Material)
Tags: sql
Quelle:
Quelle:
In SQL:
Lösche alle Auftragspositionen, deren Aufträge weniger als 3 Positionen enthalten.
Lösche alle Auftragspositionen, deren Aufträge weniger als 3 Positionen enthalten.
delete from Position
where AuftragsNr in (select AuftragsNr
from Position
group by AuftragsNr
having count(*) < 3)
where AuftragsNr in (select AuftragsNr
from Position
group by AuftragsNr
having count(*) < 3)
Tags: sql
Quelle:
Quelle:
In SQL:
Änder alle Teile Nr 88 die in Aufträgen nach dem 01.01.2009 sind in Teil 89.
Änder alle Teile Nr 88 die in Aufträgen nach dem 01.01.2009 sind in Teil 89.
update Position
set TeilNr = 89
where TeilNr = 88 and AuftragsNr in (select A.AuftragsNr
from Auftrag A
join Position P on P.AuftragsNr
= A.AuftragsNr
where Datum > '2009-01-01')
set TeilNr = 89
where TeilNr = 88 and AuftragsNr in (select A.AuftragsNr
from Auftrag A
join Position P on P.AuftragsNr
= A.AuftragsNr
where Datum > '2009-01-01')
Tags: sql
Quelle:
Quelle:
Kartensatzinfo:
Autor: Lorenzo van Matterho...
Oberthema: Wirtschaftsinformatik
Thema: Datenbanken
Veröffentlicht: 10.03.2010