/ 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 Select 1 Row
Fra : Ronaldo


Dato : 15-08-08 15:08

Jeg forsøger noget simpelt som åbenbart er svært at finde en løsning på.

Jeg vil fyre 2 selects af, som disse.

SELECT username AS one
FROM users
WHERE user_id = 1

SELECT username AS two
FROM users
WHERE user_id = 2

Og jeg vil gerne have informationen ud således.

----------------
| one | two |
----------------
| Hans | Grethe |
----------------

Jeg har forsøgt med flere forskellige UNION metoder, men den spytter altid 2
rows ud.

Det burde vel kunne lade sig gøre?



 
 
Arne Vajhøj (15-08-2008)
Kommentar
Fra : Arne Vajhøj


Dato : 15-08-08 16:30

Ronaldo wrote:
> Jeg forsøger noget simpelt som åbenbart er svært at finde en løsning på.
>
> Jeg vil fyre 2 selects af, som disse.
>
> SELECT username AS one
> FROM users
> WHERE user_id = 1
>
> SELECT username AS two
> FROM users
> WHERE user_id = 2
>
> Og jeg vil gerne have informationen ud således.
>
> ----------------
> | one | two |
> ----------------
> | Hans | Grethe |
> ----------------
>
> Jeg har forsøgt med flere forskellige UNION metoder, men den spytter altid 2
> rows ud.
>
> Det burde vel kunne lade sig gøre?

UNION "stabler" queries oven på hinanden ikke ved siden af hinanden.

SELECT (SELECT username FROM users WHERE user_id = 1) AS one,
(SELECT username FROM users WHERE user_id = 2) AS two

og

SELECT x.one,y.one
FROM (SELECT username AS one, 77 AS foobar FROM users WHERE user_id = 1) x,
(SELECT username AS two, 77 AS foobar FROM users WHERE user_id = 2) y
WHERE x.foobar=y.foobar

er værd at prøve.

Arne

Ronaldo (15-08-2008)
Kommentar
Fra : Ronaldo


Dato : 15-08-08 16:56

Det virker selvfølgelig. Tak for hjælpen Arne.

Det er vidst på tide at invistere i en god bog om sql.

Arne Vajhøj: wrote
> UNION "stabler" queries oven på hinanden ikke ved siden af hinanden.
>
> SELECT (SELECT username FROM users WHERE user_id = 1) AS one,
> (SELECT username FROM users WHERE user_id = 2) AS two
>
> og
>
> SELECT x.one,y.one
> FROM (SELECT username AS one, 77 AS foobar FROM users WHERE user_id = 1)
> x,
> (SELECT username AS two, 77 AS foobar FROM users WHERE user_id = 2) y
> WHERE x.foobar=y.foobar
>
> er værd at prøve.
>
> Arne



Jan Bachman (15-08-2008)
Kommentar
Fra : Jan Bachman


Dato : 15-08-08 16:56

On Fri, 15 Aug 2008 16:08:02 +0200, "Ronaldo" <freddie@brnet.dk>
wrote:

>Jeg forsøger noget simpelt som åbenbart er svært at finde en løsning på.
>
>Jeg vil fyre 2 selects af, som disse.
>
>SELECT username AS one
>FROM users
>WHERE user_id = 1
>
>SELECT username AS two
>FROM users
>WHERE user_id = 2
>
>Og jeg vil gerne have informationen ud således.
>
>----------------
>| one | two |
>----------------
>| Hans | Grethe |
>----------------
>
>Jeg har forsøgt med flere forskellige UNION metoder, men den spytter altid 2
>rows ud.
>
>Det burde vel kunne lade sig gøre?
>

select
u1.username as one,
u2.username as two
from
users as u1,
users as u2
where u1.user_id = 1
and u2.user_id = 2

Arne Vajhøj (15-08-2008)
Kommentar
Fra : Arne Vajhøj


Dato : 15-08-08 19:03

Jan Bachman wrote:
> select
> u1.username as one,
> u2.username as two
> from
> users as u1,
> users as u2
> where u1.user_id = 1
> and u2.user_id = 2

Den er pænere end mine forslag.

Arne

Søg
Reklame
Statistik
Spørgsmål : 177429
Tips : 31962
Nyheder : 719565
Indlæg : 6407948
Brugere : 218878

Månedens bedste
Årets bedste
Sidste års bedste