2012-03-25 55 views
-2

我已經搜索了論壇,但無法找到答案。也許這是一個明顯的答案,但我正在採取我的第一個嬰兒在MySQL的步驟。MySql - 找到一行,得到一個值,然後獲得隨機記錄使用獲得以下

這非常適用:

SELECT * FROM `uniquein_jo163`.`jos_facileforms_subrecords` 
WHERE name = 'overallexperience' ORDER BY RAND() LIMIT 0,1; 

但我希望有上面的代碼工作,即出現行中,有一欄叫紀錄 - 獲得那麼它的值使用運行上面的查詢獲得的記錄的價值。

可以這樣做嗎? 謝謝

好的。我更多解釋。全部放在同一張桌子上。我的桌子很複雜(至少在我看來)。 - 名稱 所以查詢的表,其中名稱的值等於「overallexperience」

圖像1 列標題是:該表從許多web表單(使用的Joomla breezingforms)

第一步獲取其數據顯示此查詢的結果

第2步: 找到此行後,從同一行獲取另一列名爲record的值。在這種情況下,它是50

第3步: 再次用搜索字符串執行select *查詢,其中record =第2步中獲得的值。

在第三步結束時,我會記錄許多行=獲得的值。

圖像2顯示了這一結果

現在我需要顯示在網頁上名字,姓氏,國家overallexperience等的值。 可以這樣做嗎?![image1] [1]![image2] [2]

那麼我不允許發佈圖片。 所以,我嘗試用鏈接[圖像1] [1]不工作

請訪問http://uniqueindiatour.com/image1.png 並參觀 http://uniqueindiatour.com/image2.png

+0

你能更好地解釋你想達到什麼嗎? – aleroot 2012-03-25 15:35:16

+0

多一點上下文會有幫助... – 2012-03-25 15:35:34

回答

0

你說這個?

SELECT 
    * 
FROM 
    `uniquein_jo163`.`jos_facileforms_subrecords` 
WHERE 
    `name` = (
     SELECT 
      `record` 
     FROM 
      `uniquein_jo163`.`jos_facileforms_subrecords` 
     WHERE 
      `name` = 'overallexperience' 
     ORDER BY 
      RAND() 
     LIMIT 1 
    ) 
+0

謝謝,但這不起作用:-( – 2012-03-27 13:22:50

+0

您是否收到錯誤?是返回0行還是返回意外的行? – MichaelRushton 2012-03-27 14:56:59

+0

I得到這個消息:MySQL返回一個空的結果集(即零行)(查詢花了0.5149秒) – 2012-03-28 08:45:10