Just nu i M3-nätverket
Jump to content

SQL fråga


Andreas Heintze

Recommended Posts

Andreas Heintze

Kan man få ut en autouppräknande kolumn från ett SELECT i SQL på nått sätt? 1,2,3,4...

 

Kan man manipulera utdate från en tabellkolumn med SQL? Typ om det står i en tabellkolumn:

HPI3245234

HPC345w334

IBM23423t4

 

Kan man få bort de tre första bokstäverna med SQL?

 

/Andreas

Link to comment
Share on other sites

Carlos Cadalso

Svar på fråga 2. Tror de kan vara svårt att göra med en SQL sats, men du kan i t.ex ASP, PERL manipulera strängar så att du kappar en del av den. Fast det kan gå att göra med en Store Procedure, inte säker.

Link to comment
Share on other sites

Carlos Cadalso

I VBScript (läs ASP) finns det en fuktion som heter Mid.

 

Mid(string,start[,length])

Alltså string är den sträng du vill bearbetta, start från vilken tecken i strängen du börjar och length är längden på sträng och den är optional dvs du behöver inte ange den.

 

Exempel:

string="salsa"

Mid (string,3,1) returnerar "s"

Mid (string,3) returnerar "sa"

Link to comment
Share on other sites

Andreas Heintze

Skulle helst vilja klara av det direkt i Access.

Lyckades göra det i en MySQL databas med följande:

SELECT SUBSTRING(product_sku,3) FROM product;

 

Funkade alldeles utmärkt, varför kan man inte köra samma i Access??

Link to comment
Share on other sites

Carlos Cadalso

Att det funkar i MySQL och inte i Access berör på olika ODBC drivers och hur de tolkar olika kommander. I Access kan du använda Left, Rigth och Mid fuktionerna i ställe

Link to comment
Share on other sites

Andreas Heintze

Tack, upptäckte att det heter mid i Access istället för Substring som det heter i t.ex. MySQL... knäppt med dessa ständiga variationer!!

 

Mitt andra problem är docj inte löst:

 

Jag vill slippa gå in i tabellen som skapats av tabellfrågan i efterhand och manuellt lägga till en kolumn som är en räknare.

Kan man på nått sätt få frågan i Access att skapa detta autouppräknande fält?

Räknare är ju en datatyp, så frågan är ju egentligen om man kan styra vilka datatyper

varje kolumn från en fråga blir direkt i SQL'en??

 

Ska ha de autouppräknade fälten i nästa fråga jag kör, då jag använder den nyskapade tabellen

med räknarfältet för att skapa ytterligare en tabell...

 

Mvh Andreas

Link to comment
Share on other sites

Carlos Cadalso

Alltså när skapar en post i en tabell (säg Tabell A) vill du veta värde på kolumn som är en räknare för i sin tur skapa en ny tabell (säg tabell 111) med hjälp av detta värde?

Link to comment
Share on other sites

Andreas Heintze

Jag vill på nått sätt kunna köra en fråga (SQL) i Access där en av kolumnerna som skapas av frågan är en räknare med värde 1,2,3,4,5... etc.

 

Kan man göra detta i SQL?

SELECT ??? AS product_id, product_name

FROM tabell_1;

 

 

Kan man skriva nått där (???) som genererar detta?

SELECT 1+?? kanske?

Link to comment
Share on other sites

Carlos Cadalso

Hmn.. Nu fattar jag ingenting. Tror att de blir svårt att kunna skapa någonting med en SELECT fråga. SELECT satser gör egentiglen så att hella tabellen söks igenom efter nån kriterium. Så det blir svårt att försöka göra nån med en SELECT sats. Om du förstör mig rätt Om jag kör en INSERT sats då händer nån i tabellen d.v.s skapas en ny rad iom detta kan ( vet jag) hur ska jag hämta info från tabellen ( jag har nån sort referens) som jag inte har med SELECT. Kanske jag kan ge dig en svar on jag vet vad vill du uppnå , du kan skicka en e-mail om du vill.

Link to comment
Share on other sites

i oracle kan man göra så här:

 

select rownum, andra_kolumner

from tabell_namn

where ....osv;

 

erumä?

Link to comment
Share on other sites

Andreas Heintze

Låter precis som nått jag behöver!

Tyvärr verkar inte rownum funka i Access, finns det nån motsvarighet??

Link to comment
Share on other sites

Börje Carlsson

Svar på fråga1:

Alt 1)

Varför inte skapa an identity-column och låta sql server räkna upp?

 

Alt 2)

SELECT MAX(column_name) from ... ger högsta värdet.

 

Svar på fråga2:

Använd SUBSTRING (dokumenterad i BOL)

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...