Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


mysql + skapa vy

Postades av 2008-09-26 16:22:46 - Anders Hall, i forum mysq, Tråden har 27 Kommentarer och lästs av 1694 personer

Har ett problem med att skapa en vy i mysql.
Har 3 tabeller som jag vill slå ihop till en vy så att jag får fram all information i denna.

Min första vy ser ut så här

CREATE VIEW v_test AS SELECT akronymLarare, avdelningsLarare, namnLarare, lonLarare, foddLarare,
(YEAR(CURDATE())-YEAR(foddLarare))
AS Ålder
FROM Larare ORDER BY foddLarare;

Och min andra ser ut så här

CREATE VIEW v_Kursen AS
SELECT Kurstillfälle.*, Kurs.* FROM Kurs
INNER JOIN Kurstillfälle on Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs;

Gjorde ett försök med följande men fick inte ihop det.

CREATE VIEW v_Larare AS
SELECT Kurstillfälle.*, Kurs.*, v_test,*, FROM Kurs
INNER JOIN Kurstillfälle on Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs;

Det är säkert någon som kan detta och vill hjälpa mig.


Svara

Sv: mysql + skapa vy

Postades av 2008-09-26 23:11:07 - Per Persson

På vilket sätt blir det fel?

Du har syntaxfel i sista satsen, men den är kanske bara fel inskriven i forumet...?


Svara

Sv:mysql + skapa vy

Postades av 2008-09-27 10:44:42 - Anders Hall

Får följande fel:

Unknown table 'v_test'


Har följande tabeller om det blir lättare.

Tabell 1:

CREATE TABLE Larare
(
akronymLarare CHAR(3) PRIMARY KEY,
avdelningsLarare CHAR(3),
namnLarare CHAR(20),
lonLarare INT,
foddLarare DATETIME
);


Tabell 2:

CREATE TABLE Kurs
(
kodKurs CHAR(6) PRIMARY KEY NOT NULL,
namnKurs CHAR(30),
poangKurs FLOAT
);


Tabell 3:


CREATE TABLE Kurstillfälle
(
idKurstillfälle INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
kurstillfälle_kodkurs CHAR(6) NOT NULL,
kurstillfälle_akronymLarare CHAR(10) NOT NULL,
lasperiodKurstillfälle INT NOT NULL
);



Svara

Sv: mysql + skapa vy

Postades av 2008-09-27 11:04:19 - Niklas Jansson

Vad vill du att de två sista kolumnerna ska vara?

CREATE VIEW v_Larare AS
SELECT Kurstillfälle.*, Kurs.*, <b>v_test,*</b>, FROM Kurs
INNER JOIN Kurstillfälle on Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs;

Om det bara är så att du har skrivit fel så ska du ju använda

CREATE VIEW v_Larare AS
SELECT Kurstillfälle.*, Kurs.*, <b>v_test.*</b>, FROM Kurs
INNER JOIN Kurstillfälle on Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs;


Svara

Sv:mysql + skapa vy

Postades av 2008-09-27 11:14:33 - Anders Hall

Såg att det var ett syntax fel, men får fortfarande fel.

Skall hämta från denna vy som heter v_test

CREATE VIEW v_test AS SELECT akronymLarare, avdelningsLarare, namnLarare, lonLarare, foddLarare,
(YEAR(CURDATE())-YEAR(foddLarare))
AS Ålder
FROM Larare ORDER BY foddLarare;

och denna


CREATE VIEW v_Kursen AS
SELECT Kurstillfälle.*, Kurs.* FROM Kurs
INNER JOIN Kurstillfälle on Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs;

dom funkar varför sig, men om jag vill skapa en ny vy som tar allt från dessa så blir det fel.

Som jag försökte visa med den dåliga koden innan så kommer det bara "Unknown table 'v_test' "


Svara

Sv: mysql + skapa vy

Postades av 2008-09-27 12:19:00 - Niklas Jansson

Prova först att använda v_test själv; "SELECT * FROM v_test" i något testfönster. Funkar det?
Om det funkar, prova skapa en ny vy:

"CREATE VIEW test2 AS SELECT * FROM v_test"

Funkar det också?


Svara

Sv:mysql + skapa vy

Postades av 2008-09-27 18:20:51 - Anders Hall

Inga problem att skapa och köra dessa vyer, varken v_test eller test2.

Men det är kanske lättare om jag visar det från början, har följande select-sats
SELECT * FROM Kurs, Kurstillfälle WHERE idKurstillfälle;

och skapade en vy av denna, som ser ut så här

CREATE VIEW v_Kursen AS
SELECT Kurstillfälle.*, Kurs.* FROM Kurs
INNER JOIN Kurstillfälle on Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs;

SELECT * FROM v_Kursen;


och sedan har jag en vy som är denna

CREATE VIEW v_test AS SELECT akronymLarare, avdelningsLarare, namnLarare, lonLarare, foddLarare,
(YEAR(CURDATE())-YEAR(foddLarare))
AS Ålder
FROM Larare ORDER BY foddLarare;

problemet är att jag vill ha dessa två till en enda vy, som plockar fram allt från dessa .

hoppas att jag inte har "snurrat" förmycket med svaret.


Svara

Sv:mysql + skapa vy

Postades av 2008-09-27 21:53:37 - Per Persson

Om du försöker köra nedanstående SQL-sats förstår jag om du får fel. I fältlistan (efter SELECT) försöker du nämligen hämta från en tabell/vy som du inte har med i tabellreferensen (efter FROM).

CREATE VIEW v_Larare AS
SELECT Kurstillfälle.*, Kurs.*, <b>v_test.*</b> FROM Kurs
INNER JOIN Kurstillfälle on Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs;


Du kan i stället pröva
CREATE VIEW v_Larare AS
SELECT Kurstillfälle.*, Kurs.*, <b>v_test.*</b> 
FROM 
    v_test,
    Kurs INNER JOIN Kurstillfälle 
        ON Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs
;


Svara

Sv: mysql + skapa vy

Postades av 2008-09-27 21:56:20 - Anders Hall

Om jag gör en SELECT-SATS på det som jag har tänkt skapa en vy med som ser ut så här:

SELECT DISTINCT * FROM Kurs, Kurstillfälle, v_Ålder WHERE idKurstillfälle;

så får jag fram allt, men jag får dubbletter och kurstillfälle_akronymlarare stämmer inte överens med namnLarare.

Varför?
Annars är det den som jag vill skapa en vy av.


Svara

Sv:mysql + skapa vy

Postades av 2008-09-27 21:59:56 - Anders Hall

Opps, höll på att skriva när du kom med svaret.

TACK DET FUNKAR, nu skall jag bara läsa på lite mera om detta.

Funkar som sagt.


Svara

Sv: mysql + skapa vy

Postades av 2008-09-27 22:26:11 - Anders Hall

Var för snabb med att kolla detta noga.

Men det stämmer inte riktigt med kurstillfälle _akronymlarare och akronymlarare.

se nedan

idKurstillfälle, , kurstillfälle_akronymLarare, , akronymLarare, avdelningsLarare, namnLarare, lonLarare, foddLarare, Ålder


1, 'MOS', 'CHJ', 'APS', 'Conny', 20000, '1943-01-07 00:00:00', 65
3, 'CJH', 'CHJ', 'APS', 'Conny', 20000, '1943-01-07 00:00:00', 65
2, 'MOS', 'CHJ', 'APS', 'Conny', 20000, '1943-01-07 00:00:00', 65
4, 'MOS', 'CHJ', 'APS', 'Conny', 20000, '1943-01-07 00:00:00', 65
6, 'BBE', 'CHJ', 'APS', 'Conny', 20000, '1943-01-07 00:00:00', 65
2, 'MOS', 'BHR', 'AIS', 'Birgitta', 15000, '1964-02-07 00:00:00', 44
4, 'MOS', 'BHR', 'AIS', 'Birgitta', 15000, '1964-02-07 00:00:00', 44
6, 'BBE', 'BHR', 'AIS', 'Birgitta', 15000, '1964-02-07 00:00:00', 44
1, 'MOS', 'BHR', 'AIS', 'Birgitta', 15000, '1964-02-07 00:00:00', 44
3, 'CJH', 'BHR', 'AIS', 'Birgitta', 15000, '1964-02-07 00:00:00', 44
5, 'MOL', 'BHR', 'AIS', 'Birgitta', 15000, '1964-02-07 00:00:00', 44
2, 'MOS', 'ACA', 'APS', 'Anders', 18000, '1967-09-07 00:00:00', 41
4, 'MOS', 'ACA', 'APS', 'Anders', 18000, '1967-09-07 00:00:00', 41
6, 'BBE', 'ACA', 'APS', 'Anders', 18000, '1967-09-07 00:00:00', 41

bara ett kort utdrag, men hur löser jag detta. kolla tabellerna innan


Svara

Sv:mysql + skapa vy

Postades av 2008-09-27 22:44:14 - Per Persson

Jag vet inte hur du vill koppla ihop tabellerna, det vet du bäst själv, men du skall nog ha en JOIN med ett villkor.


Svara

Sv: mysql + skapa vy

Postades av 2008-09-27 22:55:39 - Anders Hall

Vet inte hur jag löser detta, men vill framförallt att kurstillfälle_akronymLarare, och , akronymLarare, skall stämma överens.

Som du ser så är det inte så just nu, mottager all hjälp.


Svara

Sv: mysql + skapa vy

Postades av 2008-09-28 10:20:53 - Per Persson

CREATE VIEW v_Larare AS
SELECT Kurstillfälle.*, Kurs.*, v_test.*
FROM 
    v_test 
    INNER JOIN Kurstillfälle 
        ON v_test.akronymLarare = Kurstillfälle.kurstillfälle_akronymLarare
    INNER JOIN Kurs 
        ON Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs
;


Svara

Sv:mysql + skapa vy

Postades av 2008-09-28 11:17:28 - Anders Hall

Ser mycket bra ut, men en liten detalj som gör att jag inte får ut allt (kanske en miss från mig ) och det är att det fattas en rad i utskriften.

så här ser min insert ut

INSERT INTO Kurstillfälle VALUES(idKurstillfälle, 'DV1106', 'MOS', 1);
INSERT INTO Kurstillfälle VALUES(idKurstillfälle, 'DV1106', 'MOS', 4);
INSERT INTO Kurstillfälle VALUES(idKurstillfälle, 'DV1219', 'CJH', 2);
INSERT INTO Kurstillfälle VALUES(idKurstillfälle, 'DV1106', 'MOS', 3);
INSERT INTO Kurstillfälle VALUES(idKurstillfälle, 'PA1106', 'MOL', 1);
INSERT INTO Kurstillfälle VALUES(idKurstillfälle, 'PA1106', 'BBE', 2);

och nu får jag inget värde från DV1219

så här ser det ut när jag kör denna för sig själv

idKurstillfälle, kurstillfälle_kodkurs, kurstillfälle_akronymLarare, lasperiodKurstillfälle

1, 'DV1106', 'MOS', 1
2, 'DV1106', 'MOS', 4
3, 'DV1219', 'CJH', 2
4, 'DV1106', 'MOS', 3
5, 'PA1106', 'MOL', 1
6, 'PA1106', 'BBE', 2


Så här blir det när jag kör vy:n som ovan

idKurstillfälle, kurstillfälle_kodkurs, kurstillfälle_akronymLarare, lasperiodKurstillfälle, kodKurs, namnKurs, poangKurs, akronymLarare, avdelningsLarare, namnLarare, lonLarare, foddLarare, Ålder

1, 'DV1106', 'MOS', 1, 'DV1106', 'Databasteknik och Webbapplikationer', 7.5, 'MOS', 'APS', 'Mikael', 19250, '1968-03-07 00:00:00', 40
4, 'DV1106', 'MOS', 3, 'DV1106', 'Databasteknik och Webbapplikationer', 7.5, 'MOS', 'APS', 'Mikael', 19250, '1968-03-07 00:00:00', 40
2, 'DV1106', 'MOS', 4, 'DV1106', 'Databasteknik och Webbapplikationer', 7.5, 'MOS', 'APS', 'Mikael', 19250, '1968-03-07 00:00:00', 40
6, 'PA1106', 'BBE', 2, 'PA1106', 'Indivuellt projekt', 7.5, 'BBE', 'APS', 'Betty', 16500, '1968-07-07 00:00:00', 40
5, 'PA1106', 'MOL', 1, 'PA1106', 'Indivuellt projekt', 7.5, 'MOL', 'AIS', 'Mats-Ola', 20680, '1978-12-07 00:00:00', 30


Vad gör jag ?


Svara

Sv: mysql + skapa vy

Postades av 2008-09-28 12:30:18 - Anders Hall

Vet inte, men denna vy tar fram alla kurser

CREATE VIEW v_Kursen AS
SELECT Kurstillfälle.*, Kurs.* FROM Kurs
INNER JOIN Kurstillfälle on Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs;


SELECT * FROM v_Kursen;

idKurstillfälle, kurstillfälle_kodkurs, kurstillfälle_akronymLarare, lasperiodKurstillfälle, kodKurs, namnKurs, poangKurs

1, 'DV1106', 'MOS', 1, 'DV1106', 'Databasteknik och Webbapplikationer', 7.5
2, 'DV1106', 'MOS', 4, 'DV1106', 'Databasteknik och Webbapplikationer', 7.5
3, 'DV1219', 'CJH', 2, 'DV1219', 'Databasteknik', 7.5
4, 'DV1106', 'MOS', 3, 'DV1106', 'Databasteknik och Webbapplikationer', 7.5
5, 'PA1106', 'MOL', 1, 'PA1106', 'Indivuellt projekt', 7.5
6, 'PA1106', 'BBE', 2, 'PA1106', 'Indivuellt projekt', 7.5

hjälp!!

varför får jag bara med 5 rader (utan rad 3) i min utskrift när jag kör vy:n nedan

CREATE VIEW v_Larare AS
SELECT Kurstillfälle.*, Kurs.*, v_test.*
FROM
v_test
INNER JOIN Kurstillfälle
ON v_test.akronymLarare = Kurstillfälle.kurstillfälle_akronymLarare
INNER JOIN Kurs
ON Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs
;




får ju ut allt utom raden med id 3 som ni ser.

Ni som ser vad det kan vara hjälp mig.


Svara

Sv:mysql + skapa vy

Postades av 2008-09-29 20:03:36 - Anders Hall



Skriver jag följande :

KOD:

CREATE VIEW v_Larare AS
SELECT Kurstillfälle.*, Kurs.*, v_test.*
FROM
v_test
RIGHT JOIN Kurstillfälle
ON v_test.akronymLarare = Kurstillfälle.kurstillfälle_akronymLarare
LEFT JOIN Kurs
ON Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs;


SELECT * FROM v_Larare;



Så får jag följande, alltså en del null-värde.

idKurstillfälle, kurstillfälle_kodkurs, kurstillfälle_akronymLarare, lasperiodKurstillfälle, kodKurs, namnKurs, poangKurs, akronymLarare, avdelningsLarare, namnLarare, lonLarare, foddLarare, Ålder


3, 'DV1219', 'CJH', 2, 'DV1219', 'Databasteknik', 7.5, '', '', '', , '',
2, 'DV1106', 'MOS', 4, 'DV1106', 'Databasteknik och Webbapplikationer', 7.5, 'MOS', 'APS', 'Mikael', 19250, '1968-03-07 00:00:00', 40
4, 'DV1106', 'MOS', 3, 'DV1106', 'Databasteknik och Webbapplikationer', 7.5, 'MOS', 'APS', 'Mikael', 19250, '1968-03-07 00:00:00', 40
1, 'DV1106', 'MOS', 1, 'DV1106', 'Databasteknik och Webbapplikationer', 7.5, 'MOS', 'APS', 'Mikael', 19250, '1968-03-07 00:00:00', 40
6, 'PA1106', 'BBE', 2, 'PA1106', 'Indivuellt projekt', 7.5, 'BBE', 'APS', 'Betty', 16500, '1968-07-07 00:00:00', 40
5, 'PA1106', 'MOL', 1, 'PA1106', 'Indivuellt projekt', 7.5, 'MOL', 'AIS', 'Mats-Ola', 20680, '1978-12-07 00:00:00', 30

min v_test ser ut så här

KOD:

CREATE VIEW v_test AS SELECT akronymLarare, avdelningsLarare, namnLarare, lonLarare, foddLarare,
(YEAR(CURDATE())-YEAR(foddLarare))
AS Ålder
FROM Larare ORDER BY foddLarare;

och

CREATE VIEW v_Kursen AS
SELECT Kurstillfälle.*, Kurs.* FROM Kurs
INNER JOIN Kurstillfälle on Kurstillfälle.kurstillfälle_kodkurs = Kurs.kodKurs;

någon som kan se problemet.


Svara

Sv: mysql + skapa vy

Postades av 2008-09-29 21:38:18 - Niklas Jansson

Och om du tar SELECT * FROM v_test WHERE akronymLarare = "CJH", vad får du då?

Om det är tomt, då får du leta upp varför utifrån det v_test beror på osv.; det är viktigt att kunna felsöka databasfrågor och inte speciellt svårt. Om något inte verkar stämma, får man kolla på dess delar. Om alla delarna verkar rätt får man kolla noga på detaljer, och skapa små testdatabaser, osv. Om någon del verkar fel, kör man samma princip på den.

Sen är det så att man i allmänhet vill man inte ha strängar som nycklar. Rent puristiskt är det ok (och till och med uppmuntrat), men i praktiken är det ofta lite jobbigare. Jag skulle nog ha ett lärar-ID istället (kanske personnummer).


Svara

Sv:mysql + skapa vy

Postades av 2008-09-30 18:54:43 - Anders Hall

Kör jag select-satsen som du sa, så är det inga problem. Får fram allt som det ska.

Kör jag varje vy för sig själv så funkar dessa och jag får den data som ligger i databasen.

vy:n v_test och v_Kursen funkar som den bör, men kör jag vy:n v_ lararen så får jad de fel som jag beskrivit.

Vet ej hur jag ska lösa detta, eller vad som är fel.


Svara

Sv: mysql + skapa vy

Postades av 2008-09-30 21:08:01 - Anders Hall

Skäms nästan att säga det, men nu är den löst.
Har kastat om bokstäverna i min insert för kurstillfälle, och nu funkar vy:n som jag vill utan null-värde.



Men har en liten fråga till, och det är om jag vill plocka ut den lärare som har flest uppdrag som kursansvarig med en SELECT hur skriver jag denna.


Svara

Sv:mysql + skapa vy

Postades av 2008-09-30 21:39:41 - Niklas Jansson

Så är det ibland... =)

Det finns två sätt att lösa det på.
Det enklaste är
SELECT TOP 1 akronymLarare, COUNT(*) AS C FROM Kurstillfälle GROUP BY akronymLarare ORDER BY C

vilket kan behöva skrivas som ngt i stil med:
SELECT TOP 1 FROM (SELECT akronymLarare, COUNT(*) AS C FROM Kurstillfälle GROUP BY akronymLarare) ORDER BY C

På ett sätt är följande snyggare (eftersom det inte kräver någon speciell ordning) är:

k_per_l = SELECT akronymLarare, COUNT(*) AS C FROM Kurstillfälle GROUP BY akronymLarare
max_k = SELECT MAX(C) FROM k_per_l
max_l = SELECT akronymLarare FROM k_per_l WHERE c = max_k


Svara

Sv: mysql + skapa vy

Postades av 2008-10-01 18:42:04 - Anders Hall

Behöver nog hjälp med att få denna att fungera
om jag skriver denna så här:


SELECT TOP 1 FROM (SELECT akronymLarare, COUNT(namnLarare)
AS Larare FROM Kurstillfälle GROUP BY akronymLarare) ORDER BY Larare;

Så får jag följande fel:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1 FROM (SELECT akronymLarare, COUNT(namnLarare)
AS Larare FROM Kurstillfälle' at line 1


Svara

Sv:mysql + skapa vy

Postades av 2008-10-01 18:46:36 - Per Persson

SELECT akronymLarare, COUNT(namnLarare) AS Larare 
FROM Kurstillfälle 
GROUP BY akronymLarare
ORDER BY Larare
LIMIT 1;


Svara

Sv: mysql + skapa vy

Postades av 2008-10-01 19:13:03 - Anders Hall

Tyvär detta fel:

Unknown column 'akronymLarare' in 'field list'


Svara

Sv:mysql + skapa vy

Postades av 2008-10-01 23:13:43 - Niklas Jansson

Du måste nog börja testa att debugga frågorna själv; ta bort allt krafs och försök med en enkel fråga, och närma dig steg för steg den frågan du vill komma fram till.

Anledningen till att min inte funkade var helt enkelt för att det var mysql (jävligt klantigt att inte tänka på det när det står i rubriken), anledningen till att Pers inte funkar är att det inte finns någon kolumn akronymlarare i tabellen, precis som felmeddelandet säger.

Den heter istället kurstillfälle_akronymlarare. Det kan man ju direkt tipsa om; krångla inte till namnen; det är uppenbart att det handlar om kurstillfället, eftersom det ligger i den tabellen.


Svara

Sv: mysql + skapa vy

Postades av 2008-10-02 19:52:18 - Anders Hall

Tack för att ni har stått ut med dessa frågor, men i bland kan jag inte släppa det som jag blivit insnöad på. Kan vara svårt att se logiken på det hela ibland.

men som sagt jag har tagit allt till mig, och när jag bankade pannan ett tag så lästa jag mellan raderna och skrev detta.


SELECT kurstillfälle_akronymLarare, COUNT(namnLarare) AS Uppdrag
FROM v_Larare
GROUP BY kurstillfälle_akronymLarare
ORDER BY Uppdrag DESC;

och det funkar, men hittar inte hur jag sorterar bort de övriga ur tabellen.

kurstillfälle_akronymLarare, Uppdrag

'MOS', 3
'CHJ', 1
'BBE', 1
'MOL', 1

alltså jag försöker att bara få ut den som har flest uppdrag.


Svara

Sv:mysql + skapa vy

Postades av 2008-10-02 20:14:26 - Anders Hall

Nog ingen optimal lösning, eller?
men skrev till LIMIT 1 som sist i satsen.


Tack alla


Svara

Sv: mysql + skapa vy

Postades av 2008-10-02 21:11:49 - Niklas Jansson

Det är exakt det du skulle göra. =)

Alternativet hade varit att ändra tabellen och istället skriva
SELECT akronymLarare, COUNT(*) AS Uppdrag
FROM v_Larare
GROUP BY akronymLarare
ORDER BY Uppdrag DESC;


Vad "optimal" betyder är ju en smaksak. Min något krångliga lösning ovan (med MAX() och lite annat) har födelen att den fungerar på alla databaser som följer SQL-standarden. LIMIT och TOP är grejer som enskilda databasmotorer implementerar.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 153
27 952
271 704
799
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies