2017-02-21 114 views
0

我有2個查詢從我的數據庫中獲取數據。加入2個結果表

SET @row_num0 = 0; 
SELECT @row_num0 := @row_num0 + 1 AS RIdx1, 
     U.name 
FROM users U 


SET @row_num1= 0; 
SELECT @row_num1 := @row_num1 + 1 AS RIdx2, 
     C.color 
FROM colors C 

我想從1號查詢RIdx1加入結果第二查詢RIdx2
解釋....我想從user table
我已經厭倦了使用nested SELECT的得到color table爲每個用戶提供獨特的顏色,我不能選擇下使用SET @
無論如何,我可以使用每個用戶獲得顏色?

被修改::::發生
嵌套SELECT查詢....

SELECT * 
FROM 
(
    SET @row_num0 = 0; 
    SELECT @row_num0 := @row_num0 + 1 AS RIdx1, 
      U.name 
    FROM users U 
) DATA0 
LEFT JOIN 
(
    SET @row_num1= 0; 
    SELECT @row_num1 := @row_num1 + 1 AS RIdx2, 
      C.color 
    FROM colors C 
) DATA1 
ON DATA0.RIdx1 = DATA1.RIdx2 

SQL錯誤。我無法加入這兩個選擇查詢。請幫助....

+0

是否有更多的顏色比也有網友? –

+0

nope ....只是使用Limit來獲得用戶的確切顏色量 –

回答

0

考慮以下幾點:

SELECT @row_num1 := @row_num1 + 1 AS RIdx2 
    , C.color 
    FROM colors C 
    CROSS 
    JOIN (SELECT @row_num1:=0) vars 
ORDER 
    BY color; 
+0

如何與用戶表連接? –

+0

你能解釋我多一點嗎? –

+0

Yeahh .....你的查詢從顏色表中選擇顏色我以前得到。我想將顏色表的結果加入用戶表的結果中。 –