2013-08-05 57 views
-1

我在這裏有這個查詢發行聯接使用MySQL查詢

$rs = mysql_query("select Username.users,phone.users,user_id.coupon,points.coupon,time.coupon from users LEFT JOIN coupon on Username.users = coupon.user_id where coupon.user_id like '%$search%' or coupon.time like '%$search%' order by $sort $order limit $offset,$rows"); 

Where 

$sort = isset($_POST['sort']) ? strval($_POST['sort']) : 'time'; 

我在這裏做任何錯誤? 我沒有得到任何結果, 請幫我這個。

謝謝..

+1

你得到了什麼錯誤消息的類型?實際查詢的外觀如何?這是否與你的表格結構相匹配? – NDM

+0

你已經切換了所有的表格和字段名稱,它應該是'table.field'而不是'field.table' – x4rf41

+0

直接在Mysql中使用該查詢並替換值。報告錯誤。 – Mihai

回答

1

您選擇columnname.tablename,而不是tablename.columnname。因此,而不是Username.users使用users.Username和所有各自。

select users.Username --<-- here 
     ,users.phone ,coupon.user_id. ,coupon.points ,coupon.time 
    from users LEFT JOIN coupon 
    on users.Username = coupon.user_id --<-- also here 
where ... 

此外,您還可以使用別名減少你這樣的查詢長度和寫作查詢的時間和更簡單:

select u.Username --<-- here 
     ,u.phone ,c.user_id. ,c.points ,c.time 
    from users u LEFT JOIN coupon c 
    on u.Username = c.user_id --<-- also here 
where ... 
+0

我正確嗎? $ rs = mysql_query(「select users.Username,users.phone,coupon.user_id,coupon.points,coupon.time from users LEFT JOIN coupon on users.Username = user_id.coupon where coupon.user_id like'%$ search%'或者coupon.time,比如'%$ search%'order by $ sort $ order limit $ offset,$ rows「); –

+0

@al_alb - 'ON'仍然有一個錯誤,它應該是:'on users.Username = coupon.user_id'。 – hims056

+1

是的,非常感謝:) –

0

嘗試編寫查詢以下方式可以幫助:

$rs = mysql_query("select users.Username,users.phone,coupon.user_id,coupon.points,coupon.time from users LEFT JOIN coupon on users.Username = coupon.user_id 
where coupon.user_id like '%$search%' or coupon.time like '%$search%' order by $sort $order limit $offset,$rows"); 

只是驗證users.Username其實正確的ID加入的優惠券表。不應該是users.user_id?在這種情況下,這將是

$rs = mysql_query("select users.Username,users.phone,coupon.user_id,coupon.points,coupon.time from users LEFT JOIN coupon on users.user_id = coupon.user_id 
where coupon.user_id like '%$search%' or coupon.time like '%$search%' order by $sort $order limit $offset,$rows"); 
+0

這一個完美的工作,謝謝你,我在幾分鐘內接受:) –

+0

很高興我可以幫助! –

0

更合適的方法,

隨着時間的是SQL

select users.`Username`, users.`phone`, coupon.`user_id`, coupon.`points`,coupon.`time` from users 
LEFT JOIN coupon 
on users.`Username` = coupon.`user_id` 
where coupon.`user_id` like '%$search%' or coupon.`time` like '%$search%' 
+0

謝謝你的幫助:) –