Avatar billede ps76 Forsker
01. april 2005 - 11:25 Der er 10 kommentarer og
1 løsning

DELETE en hel kolonne i en JOIN sætning

Jeg har to tabeller, "Kunder" og "Postnumre". Disse har jeg joinet med sætningen: "SELECT * from kunder inner join postnumre ON kunder.postnummer=postnumre.postnr"..og så vidt så godt.
Men nu er der to kolonner postnumre, da begge tabeller har en sådan. Den i Kundetabellen hedder "Postnummer" og den i Postnumretabellen hedder "Postnr".
Jeg vil så gerne slette den ene af disse, og har derfor tilføjet:"DELETE postnr FROM Postnumre WHERE postnr>1" for at få hele kolonnen Postnr. fra tabellen Postnumre væk.
Men så kommer den og klager over syntaksfejl "fordi der mangler en operator".
Hvad er der galt med min sætning? Jeg har prøvet mange kombinationer, men ender altid op i denne blindgyde...?
Avatar billede teepee Nybegynder
01. april 2005 - 11:40 #1
Nu kan jeg ikke lige huske syntaxen hos MSSQL men det må være drop column du skal bruge og ikke delete. Prøv at se på ALTER TABLE DROP COLUMN
Avatar billede ps76 Forsker
01. april 2005 - 11:57 #2
"SELECT * from kunder inner join postnumre ON kunder.postnummer=postnumre.postnr ALTER TABLE postnumre DROP COLUMN postnr"

Så ser den sådan ud, hvis jeg forstår dig ret. Og det hjælper ingenting. Den siger stadig syntaksfejl.
Avatar billede teepee Nybegynder
01. april 2005 - 12:43 #3
Det er to forskellige sætninger. hvis du bare vil udvælge specielle kolonner skal du skrive kolonnenavnene i stedet for *, eksempelvis
SELECT k.navn, k.adresse, k.telefon FROM kunder k
Avatar billede ps76 Forsker
01. april 2005 - 13:03 #4
"SELECT kundenummer, firmanavn, adresse, postnummer, budget from kunder  inner join postnumre ON kunder.postnummer=postnumre.postnr"
Er det sådan du mener? Det giver kun kolonner fra den ene tabel, kunder, så der mangler stadig by kolonnen fra Postnumre tabellen.
Postnummer tabellen består af 2 kolonner, BY og Postnr. - og ingen af dem er som sagt med her. Så vi mangler lige at få BY kolonnen til at passe sammen med postnumrene fra Kunder tabellen.
Avatar billede teepee Nybegynder
01. april 2005 - 13:05 #5
da kolonnenavnene ikke overlapper tror jeg bare at du skal tilføje ,by til din select af kolonner
Avatar billede ps76 Forsker
01. april 2005 - 13:11 #6
"SELECT kundenummer, firmanavn, adresse, postnummer, budget from kunder, by from postnumre inner join postnumre ON kunder.postnummer=postnumre.postnr"

Så nu er nævnt først de kolonner fra Kunder, som skal med, derefter BY from postnumre, som er den eneste fra postnumre, der skal med. Og så er de joinet. Men den giver alligvel syntaksfejl.
Avatar billede jtbroad Nybegynder
01. april 2005 - 13:28 #7
by er keyword i sql prøve at sæt den i firkantet klammer [by]
Avatar billede ps76 Forsker
01. april 2005 - 13:32 #8
Prøvet - siger stadig syntaksfejl.
Avatar billede teepee Nybegynder
01. april 2005 - 13:50 #9
SELECT x,y,z,[by] from kunder inner join postnumre ON kunder.postnummer=postnumre.postnr
Avatar billede jtbroad Nybegynder
01. april 2005 - 13:55 #10
syntaksfejl near? line nr? pos?
Avatar billede ps76 Forsker
01. april 2005 - 14:00 #11
Der var den..! Teepee`s svar 13:50 løste gåden. Tak for det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester