2011-09-29 63 views
3

嗨我想要查詢我的數據庫中的表,基本上我需要從表中選擇driver_id,其中team_id與用戶驅動程序ID相同,存儲在變量$ user_driver_one。所以幾乎選擇了具有相同team_id的其他車手。MYSQL SELECT QUERY其中列是相同的

column driver_id 1 2 3 4 5 6 7 8 9 10 

    column team_id 3 3 2 2 1 1 4 4 5 5 

因此,用戶可以有$ user_driver_one = 4,所以我需要在查詢中選擇driver_id = 3,如driver_id 3具有相同的TEAM_ID。

我有這個問題,任何幫助,非常感謝。

+0

使用$ user_driver_one我很好奇,是什麼driver_id的TEAM_ID之間的關係。你爲什麼想要與他們的團隊有相同ID的人?看起來像一個代碼味道。 –

+0

基本上司機都屬於一個團隊,這是公式一。並且用戶選擇3個驅動程序,因此在查詢中,我需要能夠選擇用戶選擇的驅動程序的隊友。 – user970117

+0

我在編輯完問題後更新了我的答案。乾杯。 –

回答

4

確保你逃脫參數

$user_driver_one = (int) $user_driver_one; 

的MySQL:

"SELECT `driver_id` 
FROM `table` 
WHERE `team_id` = (
    SELECT `team_id` 
    FROM `table` 
    WHERE `driver_id` = '$user_driver_one' 
    LIMIT 1 
    ) 
AND `driver_id` != '$user_driver_one'"; 
+0

完美!非常感謝!,這就是它。 – user970117

+0

沒問題!花一兩個小時來學習一些Subquery和Join基礎知識,你會對SQL更加自信。 –

1
SELECT driver_id FROM T1 WHERE team_id = driver_id AND team_id = @user_driver_one 
0

如果你要使用PHP它應該是這樣的:

mysql_query("SELECT driver_id FROM tablename WHERE team_id = '$user_driver_one'"); 

中當然,在進行查詢之前會有一些衛生設施聰明,特別是如果你從用戶輸入分配$ user_driver_one變量。

0
select driver_id from yourtablename where team_id in (select team_id from yourtablename where driver_id=4)and driver_id!=4 

可以代替4