我正在处理查询,它多次显示相同的行,只是在两次之间交替。我测试了从所有提到的表中选择每一列,但没有看到行之间的差异。请注意,应该只返回两行,而我得到了超过 10 行。
我认为这与连接 mlc 表和 trv 表有关,但我不知道如何修复它。任何帮助表示赞赏。谢谢。
SELECT mlc.click_amount AS memPayout
FROM tbl_trackvalue AS trv, tbl_tracking AS t, tbl_offers AS off, tblusers AS usr, tbl_mailchimp_trackvalue as mlc
WHERE mlc.tracking_id = trv.tracking_id
AND off.id = t.offer_id
AND off.offer_type = 'mailchimp'
AND usr.id = trv.tr_user_id
AND trv.tr_user_id =1454
AND mlc.requested_date = '2014-01-21'
AND mlc.payment_status = 'pending'
AND mlc.requested_status = 'declined'
更新的代码:
SELECT mlc.click_amount AS memPayout
FROM tbl_trackvalue AS trv, tbl_offers AS off, tbl_mailchimp_trackvalue as mlc
WHERE mlc.tracking_id = trv.tracking_id
AND off.id = trv.tr_offer_id
AND off.offer_type = 'mailchimp'
AND trv.tr_user_id =1454
AND mlc.requested_date = '2014-01-21'
AND mlc.payment_status = 'pending'
AND mlc.requested_status = 'declined'
更新 II(再次更改,这次有效。感谢您的帮助。我很新,现在意识到明确命名连接的重要性:
SELECT mlc.click_amount AS memPayout
FROM tbl_mailchimp_trackvalue as mlc inner join tbl_trackvalue AS trv on mlc.tracking_id=trv.tracking_id
WHERE trv.type = 'mailchimp'
AND trv.tr_user_id =1454
AND mlc.requested_date = '2014-01-21'
AND mlc.payment_status = 'pending'
AND mlc.requested_status = 'declined'
最佳答案
您在 off
上加入 t
,在 usr
和 mlc
上加入 trv
>,但是这两个连接 block 之间永远不会有任何连接。
关于mysql - sql select 多次返回同一组行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21325879/