Vinnaren i pepparkakshustävlingen!
2017-03-22, 16:34
  #1
Medlem
sweden_lands avatar
Tjena Flashback.

SELECT user AS data, users AS data, user2 AS data FROM accounts.

Då får jag upp tre stycken kolumer. Jag vill ha all data i en enda kolumn. Hur gör jag?

Det är mysql/phpmyadmin förresten.
Citera
2017-03-22, 17:20
  #2
Medlem
enowens avatar
Du är ute efter

Kod:
SELECT CONCAT(column1column2) AS columns FROM table 
Citera
2017-03-22, 20:28
  #3
Medlem
sweden_lands avatar
Citat:
Ursprungligen postat av enowen
Du är ute efter

Kod:
SELECT CONCAT(column1column2) AS columns FROM table 
Hej och tack för svar. Tyvärr så blir det inte rätt.

Så här ser det ut

Kod:
data    data   data
---------------------
1a      2a     3a

När jag kör ditt skript får jag

Kod:
data
---------------------
1a2a3a

Det jag vill ha är

Kod:
data
---------------------
1a
2a
3a

All hjälp uppskattas super mycket!

Jag löste det med UNION.

select första as data
union
select andra as data
union
select tredje as data
__________________
Senast redigerad av sweden_land 2017-03-22 kl. 20:45.
Citera
2017-03-23, 00:50
  #4
Medlem
enowens avatar
Citat:
Ursprungligen postat av sweden_land
Hej och tack för svar. Tyvärr så blir det inte rätt.

Så här ser det ut

Kod:
data    data   data
---------------------
1a      2a     3a

När jag kör ditt skript får jag

Kod:
data
---------------------
1a2a3a

Det jag vill ha är

Kod:
data
---------------------
1a
2a
3a

All hjälp uppskattas super mycket!

Jag löste det med UNION.

select första as data
union
select andra as data
union
select tredje as data

Ja då gör du följande:

Kod:
SELECT CONCAT(column1'\n'column2) AS columns FROM table 
Citera
2017-04-27, 00:00
  #5
Medlem
Dum fråga kanske, men varför vill du ha dem i samma kolumn?
Citera
2019-04-18, 22:39
  #6
Medlem
Kod:
-- DEMOTABLE
DECLARE
	@tab TABLE (rowid int identity(1,1), col1 char(2), col2 char(2), col3 char(2));

-- LOAD DEMOTABLE
WITH
	c(n) AS (SELECT '1' UNION ALL SELECT '2' UNION ALL SELECT '3'),
	d(a) AS (SELECT 'a' UNION ALL SELECT 'b' UNION ALL SELECT 'c' UNION ALL SELECT 'd' UNION ALL SELECT 'e' UNION ALL SELECT 'f'),
	r(n,r, na) AS (SELECT c.n, ROW_NUMBER() OVER(PARTITION BY c.n ORDER BY d.a), c.n + d.a FROM c CROSS JOIN d)
INSERT INTO @tab(col1, col2, col3)
SELECT 
	c1.na, c2.na, c3.na 
FROM r c1 INNER JOIN r c2 ON c1.r = c2.r INNER JOIN r c3 ON c1.r = c3.r
WHERE c1.n = '1' AND c2.n = '2' AND c3.n = '3';

-- VIEW DEMOTABLE
SELECT * from @tab

-- SOLUTION
SELECT rowid, data FROM @tab
UNPIVOT(
data FOR col IN([col1],[col2],[col3])
)x
/*
-- YOUR QUERY
SELECT data FROM accounts
UNPIVOT(
data FOR col IN([user],[users],[user2])
*/
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback