/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
2 felter med samme navn i et JOIN
Fra : EnjoyNews


Dato : 24-03-07 02:03

Hvis man JOIN'er 2 tables skriver man jo bare ex. $email=$row['Email']; for
at få fat i email adressen.
Man hvad nu hvis begge tables har et felt der hedder Email.
Går det så galt, eller kan man skelne dem på en eller anden måde ?



 
 
Peter Brodersen (24-03-2007)
Kommentar
Fra : Peter Brodersen


Dato : 24-03-07 02:56

On Sat, 24 Mar 2007 02:02:43 +0100, "EnjoyNews" <mh-nyheder@mail.dk>
wrote:

>Hvis man JOIN'er 2 tables skriver man jo bare ex. $email=$row['Email']; for
>at få fat i email adressen.
>Man hvad nu hvis begge tables har et felt der hedder Email.
>Går det så galt, eller kan man skelne dem på en eller anden måde ?

Du kan bruge et alias, når du henter felter ud, fx:

SELECT a.Email, b.Email AS Secondaryemail FROM ..

... og så referere til den anden kolonne i resultatet som
Secondaryemail.

--
- Peter Brodersen
Kendt fra Internet

Leif Neland (24-03-2007)
Kommentar
Fra : Leif Neland


Dato : 24-03-07 02:56

EnjoyNews wrote:
> Hvis man JOIN'er 2 tables skriver man jo bare ex.
> $email=$row['Email']; for at få fat i email adressen.
> Man hvad nu hvis begge tables har et felt der hedder Email.
> Går det så galt, eller kan man skelne dem på en eller anden måde ?

Giv felterne et alias i select'en

select company.email as firma_email,
person.email as email
from person
left join company
on company.id=person.company_id
where person.id=?

Så refererer du til $row['Email'] og $row['Firma_email']

Man kan også referere til felterne med nummeret (kan ikke lige huske
php-syntaxen), men det er en uskik, da din applikation kan bryde sammen,
hvis der bliver tilføjet et felt midt i tabellen.

Leif



EnjoyNews (24-03-2007)
Kommentar
Fra : EnjoyNews


Dato : 24-03-07 17:43


"Leif Neland" <leif@neland.dk> skrev i en meddelelse
news:46048545$0$90276$14726298@news.sunsite.dk...
> EnjoyNews wrote:
>> Hvis man JOIN'er 2 tables skriver man jo bare ex.
>> $email=$row['Email']; for at få fat i email adressen.
>> Man hvad nu hvis begge tables har et felt der hedder Email.
>> Går det så galt, eller kan man skelne dem på en eller anden måde ?
>
> Giv felterne et alias i select'en
>
> select company.email as firma_email,
> person.email as email
> from person
> left join company
> on company.id=person.company_id
> where person.id=?
>
> Så refererer du til $row['Email'] og $row['Firma_email']
>
> Man kan også referere til felterne med nummeret (kan ikke lige huske
> php-syntaxen), men det er en uskik, da din applikation kan bryde sammen,
> hvis der bliver tilføjet et felt midt i tabellen.
>
> Leif


Super... mange tak skal i have..



Per Rønne (24-03-2007)
Kommentar
Fra : Per Rønne


Dato : 24-03-07 19:45

EnjoyNews <mh-nyheder@mail.dk> wrote:

> Hvis man JOIN'er 2 tables skriver man jo bare ex. $email=$row['Email']; for
> at få fat i email adressen.
> Man hvad nu hvis begge tables har et felt der hedder Email.
> Går det så galt, eller kan man skelne dem på en eller anden måde ?

Select t1.email mail1,
t2.email mail2
from t1, t2
where t1.id(+) = t2.id(+);
--
Per Erik Rønne
http://www.RQNNE.dk

EnjoyNews (24-03-2007)
Kommentar
Fra : EnjoyNews


Dato : 24-03-07 20:06


""Per Rønne"" <per@RQNNE.invalid> skrev i en meddelelse
news:1hvhvue.1cwrmgrwhdha9N%per@RQNNE.invalid...
> EnjoyNews <mh-nyheder@mail.dk> wrote:
>
>> Hvis man JOIN'er 2 tables skriver man jo bare ex. $email=$row['Email'];
>> for
>> at få fat i email adressen.
>> Man hvad nu hvis begge tables har et felt der hedder Email.
>> Går det så galt, eller kan man skelne dem på en eller anden måde ?
>
> Select t1.email mail1,
> t2.email mail2
> from t1, t2
> where t1.id(+) = t2.id(+);
> --
> Per Erik Rønne
> http://www.RQNNE.dk

from t1, t2 where t1.id(+) = t2.id(+); ???

Den var ny... er det det samme som JOIN .... ON (...=...) ??



Per Rønne (25-03-2007)
Kommentar
Fra : Per Rønne


Dato : 25-03-07 06:14

EnjoyNews <mh-nyheder@mail.dk> wrote:

> ""Per Rønne"" <per@RQNNE.invalid> skrev i en meddelelse
> news:1hvhvue.1cwrmgrwhdha9N%per@RQNNE.invalid...
> > EnjoyNews <mh-nyheder@mail.dk> wrote:
> >
> >> Hvis man JOIN'er 2 tables skriver man jo bare ex. $email=$row['Email'];
> >> for at få fat i email adressen.
> >> Man hvad nu hvis begge tables har et felt der hedder Email.
> >> Går det så galt, eller kan man skelne dem på en eller anden måde ?
> >
> > Select t1.email mail1,
> > t2.email mail2
> > from t1, t2
> > where t1.id(+) = t2.id(+);

> from t1, t2 where t1.id(+) = t2.id(+); ???
>
> Den var ny... er det det samme som JOIN .... ON (...=...) ??

<http://www.adp-gmbh.ch/ora/sql/outer_join.html>

Prøv i øvrigt når du spørger om noget sådant lige at nævne hvilken
database du bruger - Oracle, Ingres, Informix, ...
--
Per Erik Rønne
http://www.RQNNE.dk

EnjoyNews (25-03-2007)
Kommentar
Fra : EnjoyNews


Dato : 25-03-07 15:05


""Per Rønne"" <per@RQNNE.invalid> skrev i en meddelelse
news:1hvirtz.1vlfmkgag60g8N%per@RQNNE.invalid...
> EnjoyNews <mh-nyheder@mail.dk> wrote:
>
>> ""Per Rønne"" <per@RQNNE.invalid> skrev i en meddelelse
>> news:1hvhvue.1cwrmgrwhdha9N%per@RQNNE.invalid...
>> > EnjoyNews <mh-nyheder@mail.dk> wrote:
>> >
>> >> Hvis man JOIN'er 2 tables skriver man jo bare ex.
>> >> $email=$row['Email'];
>> >> for at få fat i email adressen.
>> >> Man hvad nu hvis begge tables har et felt der hedder Email.
>> >> Går det så galt, eller kan man skelne dem på en eller anden måde ?
>> >
>> > Select t1.email mail1,
>> > t2.email mail2
>> > from t1, t2
>> > where t1.id(+) = t2.id(+);
>
>> from t1, t2 where t1.id(+) = t2.id(+); ???
>>
>> Den var ny... er det det samme som JOIN .... ON (...=...) ??
>
> <http://www.adp-gmbh.ch/ora/sql/outer_join.html>
>
> Prøv i øvrigt når du spørger om noget sådant lige at nævne hvilken
> database du bruger - Oracle, Ingres, Informix, ...


Den kendte jeg ikke..
Jeg bruger MySQL..



Per Rønne (25-03-2007)
Kommentar
Fra : Per Rønne


Dato : 25-03-07 15:28

EnjoyNews <mh-nyheder@mail.dk> wrote:

> ""Per Rønne"" <per@RQNNE.invalid> skrev i en meddelelse
> news:1hvirtz.1vlfmkgag60g8N%per@RQNNE.invalid...
> > EnjoyNews <mh-nyheder@mail.dk> wrote:
> >
> >> ""Per Rønne"" <per@RQNNE.invalid> skrev i en meddelelse
> >> news:1hvhvue.1cwrmgrwhdha9N%per@RQNNE.invalid...
> >> > EnjoyNews <mh-nyheder@mail.dk> wrote:
> >> >
> >> >> Hvis man JOIN'er 2 tables skriver man jo bare ex.
> >> >> $email=$row['Email'];
> >> >> for at få fat i email adressen.
> >> >> Man hvad nu hvis begge tables har et felt der hedder Email.
> >> >> Går det så galt, eller kan man skelne dem på en eller anden måde ?
> >> >
> >> > Select t1.email mail1,
> >> > t2.email mail2
> >> > from t1, t2
> >> > where t1.id(+) = t2.id(+);
> >
> >> from t1, t2 where t1.id(+) = t2.id(+); ???
> >>
> >> Den var ny... er det det samme som JOIN .... ON (...=...) ??
> >
> > <http://www.adp-gmbh.ch/ora/sql/outer_join.html>
> >
> > Prøv i øvrigt når du spørger om noget sådant lige at nævne hvilken
> > database du bruger - Oracle, Ingres, Informix, ...
>
> Den kendte jeg ikke..
> Jeg bruger MySQL..

Der findes andre databaser end MySQL. Masser. Også PostgreSQL, som i
lighed med MySQL er gratis.

Personligt arbejder jeg med Oracle.
--
Per Erik Rønne
http://www.RQNNE.dk

Kristian Damm Jensen (28-03-2007)
Kommentar
Fra : Kristian Damm Jensen


Dato : 28-03-07 15:48

"Per Rønne" wrote:
> EnjoyNews <mh-nyheder@mail.dk> wrote:
>
>> ""Per Rønne"" <per@RQNNE.invalid> skrev i en meddelelse
>> news:1hvhvue.1cwrmgrwhdha9N%per@RQNNE.invalid...
>>> EnjoyNews <mh-nyheder@mail.dk> wrote:
>>>
>>>> Hvis man JOIN'er 2 tables skriver man jo bare ex.
>>>> $email=$row['Email']; for at få fat i email adressen.
>>>> Man hvad nu hvis begge tables har et felt der hedder Email.
>>>> Går det så galt, eller kan man skelne dem på en eller anden måde ?
>>>
>>> Select t1.email mail1,
>>> t2.email mail2
>>> from t1, t2
>>> where t1.id(+) = t2.id(+);
>
>> from t1, t2 where t1.id(+) = t2.id(+); ???
>>
>> Den var ny... er det det samme som JOIN .... ON (...=...) ??
>
> <http://www.adp-gmbh.ch/ora/sql/outer_join.html>
>
> Prøv i øvrigt når du spørger om noget sådant lige at nævne hvilken
> database du bruger - Oracle, Ingres, Informix, ...

Når der nu netop ikke er angivet hvilken database, hvorfor benytter du så
ikke standardsyntaksen:

.....from t1 full outer join t2 on t1.id = t2.id

?

Det er efterhånden et fåtal af databaser, der ikke understøtter denne
syntaks.



--
Venlig hilsen /Best regards
Kristian Damm Jensen



Per Rønne (28-03-2007)
Kommentar
Fra : Per Rønne


Dato : 28-03-07 21:10

Kristian Damm Jensen <kristiandamm@yahoo.dk> wrote:

> Når der nu netop ikke er angivet hvilken database, hvorfor benytter du så
> ikke standardsyntaksen:
>
> ....from t1 full outer join t2 on t1.id = t2.id

Fordi jeg sidder med en Oracle-database til dagligt, og fordi det er
lang tid siden jeg havde Dates 'An Introduction to Databas Systems'.
Bindet siger 'Second Edition', og er tilsyneladende trykt i 1977 - for
30 år siden. I denne bog kaldes SQL for Sequel.
--
Per Erik Rønne
http://www.RQNNE.dk

Søg
Reklame
Statistik
Spørgsmål : 177455
Tips : 31962
Nyheder : 719565
Indlæg : 6408149
Brugere : 218880

Månedens bedste
Årets bedste
Sidste års bedste