我使用的是C#控制檯應用程序,以獲得從MySQL數據庫中的一些數據,我有一些問題得到的查詢權幫助MySQL查詢
因爲它現在是:
SELECT * FROM Customer
WHERE EXISTS (SELECT * FROM Customer_x_Billing c WHERE Customer.`customer id` = c.customer_id)
AND 2011 -04 -03 < (SELECT last_changed FROM Customer_x_Billing c WHERE Customer.`customer id` = c.customer_id)
ORDER BY Customer.`customer id`
我怎麼能改進這一個? 我想要獲得所有在Customer和Customer_x_Billing表中都有其ID並且Customer_x_Billing中的last_changed日期大於參數(本例中爲2011-04-03)的所有客戶。如果我將日期設置爲2012-04-03,則不應該返回任何行,但會返回與第一個條件相匹配的所有記錄(兩者均存在)。
在此先感謝。
沒有太多的分析你的查詢,查詢中最明顯的問題就是你指定日期參數的方式。你得到的東西被解釋爲一個算術表達式,'2011-04-03',它被相應地評估,然後當與子查詢的結果進行比較時隱式轉換爲日期/時間值。爲了將參數解釋爲日期,您需要將其作爲單引號括起來,就像大多數答案所示。 – 2011-04-11 07:28:51