Tabellen har en foto (string) kolumn vars värde ska bestå av förnamn och efternamn kolumnerna, så att slutvärdet blir fornamn_efternamn.jpg
Jag har sökt lite men får inte ihop nåt ändå... provade nedanstående SQL som inte funkar alls :)
INSERT INTO personal(id, Sortering, foto)
SELECT DISTINCT id, Sortering,
(SELECT f_namn
UNION SELECT '_'
e_namn
UNION SELECT '.jpg' FROM personal p2 WHERE p2.id = p1.id)
FROM personal AS p1
Nån som har nåt förslag...? :) Dessutom så får id kolumnen inte var null och jag får heller inte ha duplicate values...
aha, är det så man skriver.. ska prova senare ikväll.. tack så mycket.. du har hjälpt många gånger.. :)
jo, jag drog mig för det ganska länge för jag ville lägga det i code-behind filen i en datagrid men kom inte på syntaxen riktigt.. däremot var det inga problem att få in kolumndata (från databasen) o lägga in den i datagriden.. så det är lite därför.. så jag tänkte att det går snabbare att lägga det i databasen tills vidare men så körde jag fast där också :)
Hejsan.. :) det kom en massa annat emellan.. kunde inte prova förrän nu... tack för inläggen... jo precis.. jag kör sql-server.. har för mig att oracle kör med union för att konkatenera?
så jag ändrade i alla fall till:
INSERT INTO personal(id, Sortering, foto)
SELECT DISTINCT id, Sortering,
(SELECT DISTINCT f_namn + '_' + e_namn + '.jpg' FROM personal p2 WHERE p2.id = p1.id)
FROM personal AS p1
... får då felet att
Violation of PRIMARY KEY constraint 'PK_xyz'. Cannot insert duplicate key in object 'personal'.
The statement has been terminated.
måste man köra nån subquery som förhindrar duplicates..? hur var det.. nåt med count < 1 eller varför blir det så...?
a jo, nä jag menade att jag sett att man kan använda union för att konkatenera in vanliga ord i sin query.. fast jag kanske har fel? jag har för mig att jag gjort det nån gång innan jag visste det här som LarsG och Nöff berättade om || och + ... typ om man inte jobbar med en extern applikation och vill att det i själva output fönstret ska stå
Olle tjänar
-------------
80 kr
där man då kan selecta fram "olle tjänar" union det som ger 80 union select "kr"... fast det är förstås vanskligt :)
Läste alldeles nyss att det var Oracle som ju körde med ||