/ 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
Mangler SQL sætning
Fra : Ronni - The Real One~


Dato : 01-02-02 23:42

Hejsa NG

Jeg har endnu ikke det vilde kendskab til SQL , men står og mangler en SQL
sætning i forbindelse med
en side i PHP, databasen er MySQL.

Jeg har en tabel (sprogtabel), hvori der er angivet programmeringssprog
(lang) og et id for dette programmerings sprog (id)
I en anden tabel (artikeltabel) har jeg en masse artikler, hvor sproget de
er skrevet til/i refereres vha langid.

SQL sætningen skal bruges i forbindelse med en submenu, hvor jeg kun vil
have hevet de sprog fra sprogtabel ud, hvor
der er skrevet artikler under.
Eneste måde jeg har kunnet finde en løsning til dette på er ved at løbe
artikeltabel igennem, undersøge hver enkelt artikel for
hvilket sprog den er skrevet i og gemme dens id for dernæst hive dem ud fra
sprogtabel.
Dvs lave en SQL sætning on the fly, men knap så performance venligt da der
er en del sortering og jeg skal løbe en hel tabel
igennem.
Har forsøgt med noget i retning af
SELECT * FROM sprogtabel WHERE id = (SELECT langid FROM artikeltabel
DISTINCT)
Altså en nested SQL sætning hvor distinct skulle hive unikke (en af hver) af
langid ud, men det virkede ikke.

Nogen som kan give mig en løsning ?

På forhånd tak for hjælpen!

m v h
Ronni
rofe@mailme.dk




 
 
-Martin- (02-02-2002)
Kommentar
Fra : -Martin-


Dato : 02-02-02 01:11

den Fri, 1 Feb 2002 23:41:30 +0100 skrev "Ronni - The Real One :-\)"
<ronni1@ofir.dk> :

>Hejsa NG
>
>Jeg har endnu ikke det vilde kendskab til SQL , men står og mangler en SQL
>sætning i forbindelse med
>en side i PHP, databasen er MySQL.
>
>Jeg har en tabel (sprogtabel), hvori der er angivet programmeringssprog
>(lang) og et id for dette programmerings sprog (id)
>I en anden tabel (artikeltabel) har jeg en masse artikler, hvor sproget de
>er skrevet til/i refereres vha langid.
>
>SQL sætningen skal bruges i forbindelse med en submenu, hvor jeg kun vil
>have hevet de sprog fra sprogtabel ud, hvor
>der er skrevet artikler under.
>Eneste måde jeg har kunnet finde en løsning til dette på er ved at løbe
>artikeltabel igennem, undersøge hver enkelt artikel for
>hvilket sprog den er skrevet i og gemme dens id for dernæst hive dem ud fra
>sprogtabel.
>Dvs lave en SQL sætning on the fly, men knap så performance venligt da der
>er en del sortering og jeg skal løbe en hel tabel
>igennem.
>Har forsøgt med noget i retning af
>SELECT * FROM sprogtabel WHERE id = (SELECT langid FROM artikeltabel
>DISTINCT)
>Altså en nested SQL sætning hvor distinct skulle hive unikke (en af hver) af
>langid ud, men det virkede ikke.
>
>Nogen som kan give mig en løsning ?
>
>På forhånd tak for hjælpen!
>
>m v h
>Ronni
>rofe@mailme.dk
>
>

noget ala
SELECT * FROM table1 WHERE id IN (SELECT id FROM table2);
måske ?
http://www.mysql.com/doc/A/N/ANSI_diff_Sub-selects.html

Ronni - The Real One~ (02-02-2002)
Kommentar
Fra : Ronni - The Real One~


Dato : 02-02-02 01:49

Nope!

Funkede ikk :(

m v h
Ronni
rofe@mailme.dk




Jens Ulrik Lange (02-02-2002)
Kommentar
Fra : Jens Ulrik Lange


Dato : 02-02-02 01:43

Hej Ronni,

Er ikke helt sikker på at dette er hvad du har brug for - Går ud fra at du
vil returnere et recordset af sprog der også er repræsenteret i dine
artikeltabel.

SELECT * FROM sprogtabel
INNER JOIN artikeltabel
ON sprogtabel.id=artikeltabel.langid

Dette giver dig foreningsmængden af de to tabeller. Hvis det stadig
giver dig lidt for mange records kan du prøve med GROUP BY således:

SELECT * FROM sprogtabel
INNER JOIN artikeltabel
ON sprogtabel.id=artikeltabel.langid
GROUP BY sprogtabel.id

Håber det er hvad du mangler. Mere performance kan du måske hente ved kun
at SELECTe de felter du skal vise istedet for alle (*).

/Jens Ulrik

In article <3c5b1997$0$62888$edfadb0f@dspool01.news.tele.dk>, "Ronni - The
Real One :-\)" <ronni1@ofir.dk> wrote:

> Hejsa NG
>
> Jeg har endnu ikke det vilde kendskab til SQL , men står og mangler en
> SQL sætning i forbindelse med
> en side i PHP, databasen er MySQL.
>
> Jeg har en tabel (sprogtabel), hvori der er angivet programmeringssprog
> (lang) og et id for dette programmerings sprog (id) I en anden tabel
> (artikeltabel) har jeg en masse artikler, hvor sproget de er skrevet
> til/i refereres vha langid.
>
> SQL sætningen skal bruges i forbindelse med en submenu, hvor jeg kun vil
> have hevet de sprog fra sprogtabel ud, hvor der er skrevet artikler
> under.
> Eneste måde jeg har kunnet finde en løsning til dette på er ved at løbe
> artikeltabel igennem, undersøge hver enkelt artikel for hvilket sprog
> den er skrevet i og gemme dens id for dernæst hive dem ud fra
> sprogtabel.
> Dvs lave en SQL sætning on the fly, men knap så performance venligt da
> der er en del sortering og jeg skal løbe en hel tabel igennem. Har
> forsøgt med noget i retning af
> SELECT * FROM sprogtabel WHERE id = (SELECT langid FROM artikeltabel
> DISTINCT)
> Altså en nested SQL sætning hvor distinct skulle hive unikke (en af
> hver) af langid ud, men det virkede ikke.
>
> Nogen som kan give mig en løsning ?
>
> På forhånd tak for hjælpen!
>
> m v h
> Ronni
> rofe@mailme.dk

Ronni - The Real One~ (02-02-2002)
Kommentar
Fra : Ronni - The Real One~


Dato : 02-02-02 02:57

<snip snap>

YES! :)
Nummer to virkede totalt efter hensigten!!!

Mange TAK!

m v h
Ronni
rofe@mailme.dk




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408928
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste