我有以下表格:
我需要在一个结果集中获取所有这些信息以从中提取数据,以便我可以将交互连接到各个人的数据及其特定于业务的数据。
我目前正在使用两个数据集,我在PHP中关联,但如果有意义的话,我更喜欢使用一个返回的数据集。
以下是我当前的查询集:
SELECT * FROM `log`
WHERE `timestamp` >= STARTTIME AND `timestamp` <= ENDTIME AND `pageID`='aPageID' AND `businessID`='aBusinessID'
ORDER BY `timestamp` DESC
SELECT * FROM `actions` AS `t1`
INNER JOIN `people` AS `t2` ON (`t1.personID`=`t2.personID`)
INNER JOIN `customers` AS `t2` ON (`t1.personID`=`t3.personID` AND `t1.businessID`=`t3.businessID`)
WHERE `timestamp` >= STARTTIME AND `timestamp` <= ENDTIME AND `pageID`='aPageID' AND `businessID`='aBusinessID'
ORDER BY `timestamp` DESC
似乎我可以更好地使用一个查询,其中actionID(以及所有后续结果)可能为null,但我真的不知道它会是什么样的,或者它会如何影响性能。帮助
答案 0 :(得分:0)
SELECT * FROM `log` AS t1
INNER JOIN `actions` AS t2 ON (t1.`clickID`=t2.`clickID` AND t1.`businessID`=t2.`businessID`)
INNER JOIN `customers` AS t3 ON (t1.`businessID`=t3.`BusinessID` AND t2.`personID`=t3.`personID`)
INNER JOIN `people` AS t4 ON (t2.`personID`=t4.`personID`)
WHERE `timestamp` >= STARTTIME AND `timestamp` <= ENDTIME AND `pageID`='aPageID' AND `businessID`='aBusinessID'
ORDER BY `timestamp` DESC