Permalänk
Medlem

SQL fråga

Hej!

Sitter och pluggar inför en tenta inom databaskunskap men har svårt att förstå hur SQLkoderna skrivs. Vore jäkligt snällt ifall någon kunde ta ett par minuter och visa hur man ska skriva.

https://imgur.com/VAdZdCV
https://imgur.com/oOJ0fxT

Jag får fråga 1 till Select * from utgiftsområde order by kod desc

Permalänk
Medlem

Kolla in W3Schools där står det bra förklarat. https://www.w3schools.com/sql/

Permalänk
Medlem

1.

SELECT * FROM table_name ORDER BY column_name DESC

2.

SELECT * FROM table_name WHERE column_name LIKE 'K%'

Jag orkar inte göra fler.

Permalänk
Hedersmedlem

Nja, ska inte vara *, då får du ut lite fler kolumner än de vill ha.

Tips: Installera någon SQL-databas och kör in lite testtabeller så har du något "riktigt" att labba mot. Alltid enklast att lära sig så.

Du kan t.ex. köra MySQL, Postgres, eller Microsoft SQL Server Express.

Permalänk
Medlem

Det blev lite krångligare än jag väntat mig det här..

Men iaf på nr 1 blir svaret alltså

SELECT
kod, namn
FROM
utgiftsområde
ORDER BY
kod DESC;

Permalänk
Medlem

Fråga 1:

SELECT Kod, Namn FROM Utgiftsområde ORDER BY Kod Desc

Fråga 2:

SELECT rb.Myndighet, rbo.Belopp FROM Regleringsbrev rb INNER JOIN Regleringsbrevsområde rbo ON rb.RegleringsbrevsID = rbo.RegleringsbrevsID WHERE rb.Myndighet LIKE 'K%' ORDER BY rbo.Belopp asc

Fråga 3:

SELECT uo.Kod, uo.Namn, rbo.Belopp FROM Utgiftsområde uo INNER JOIN Regleringsbrevutgiftsområde rbo ON uo.UtgiftsområdesID = rbo.UtgiftsområdesID WHERE rbo.Belopp = (SELECT MAX(rbo2.Belopp) FROM Regleringsbrevutgiftsområde rbo2)

Alternativt (jag är osäker på vad man är ute efter):

SELECT uo.Kod, uo.Namn, MAX(rbo.Belopp) AS Belopp FROM Utgiftsområde uo INNER JOIN Regleringsbrevutgiftsområde rbo ON uo.UtgiftsområdesID = rbo.UtgiftsområdesID GROUP BY uo.Kod, uo.Namn

Fråga 4:

SELECT rb.RegleringsbrevID, rb.Myndighet, SUM(rbo.Belopp) AS [Summa Belopp] FROM Regleringsbrev rb INNER JOIN Regleringsbrevutgiftsområde rbo ON uo.RegleringsbrevID = rbo.RegleringsbrevID WHERE rbo.År = '2015' GROUP BY rb.RegleringsbrevID, rb.Myndighet

Det kan finnas något syntaxfel någonstans, jag har inte testat dem.