我有以下示例查詢(MySQL的):SQL - 我應該使用連接嗎?
SELECT * FROM `action`
WHERE `customer_id` IN
(SELECT `id` FROM `customer` WHERE `status`=1)
ORDER BY
action.date ASC
LIMIT 0, 10
我需要能夠爲了通過customer.status領域。我是否通過連接完成此操作?
status
是customer
表中的字段。
編輯查詢:
SELECT * FROM `action`
ORDER BY
action.date ASC
LIMIT 0, 10
重要!
我解析通過PHP返回的數據。運行修改後的查詢後:
SELECT * FROM `action` a INNER JOIN `customer` c ON a.customer_id = c.id ORDER BY a.form_id ASC LIMIT 0, 10
我的PHP代碼打破...
This post幫了我。
我修改後的查詢看起來是這樣的:
SELECT
*, a.id AS lead_id, c.id AS customer_id
FROM
`action` a
INNER JOIN
`customer` c ON a.customer_id = c.id
ORDER BY c.status DESC
謝謝大家!
UPDATE
因爲我有一些客戶記錄沒有動作記錄,內部聯接未返回所有相關記錄。我現在使用JOIN,所有結果都按預期返回。
這是一個過濾器的狀態,所以我將需要編輯示例 – AVProgrammer 2012-02-10 20:08:04