我想输出一个不错的用户表。但是我的查询需要来自多个表的WHERE。
目前......我的查询如下:
tableView.tableHeaderView = searchController.searchBar
输出(数组)的数据是来自$ statsTable的2倍,WHERE无效。我只想选择$ statsTable ...
如何进行? 谢谢:))
答案 0 :(得分:3)
$statsTable = "someTable";
$userTable = "someOtherTable";
$someQueryForData = "SELECT stats.*
FROM $statsTable stats
JOIN $userTable user
ON (user.id_stats = stats.id)
AND (user.some_status = '0')
WHERE (stats.some_value BETWEEN $rangeFrom AND $rangeTo)
ORDER BY stats.some_value ASC LIMIT 0,10";
编辑:解释你基本上需要一个连接,建立查询的方式使你的方式不那么可读,你无法真正关联你的表。
在您使用“ON”语句后使用联接,您可以添加“AND” 并使用该连接作为使用ITSELF
的地方更快的地方答案 1 :(得分:0)
只需使用加入。
将表加入一个唯一的ID,然后您将获得两个表中的值。
应该是这样的
SELECT stats.* as stats, user.* as user
FROM statsTable
INNER JOIN userTable
ON stats.userId=user.userId
WHERE user.some_status = 0 AND (stats.some_value BETWEEN $rangeFrom AND $rangeTo)
LIMIT 0,10;