根据另一个表的列排序一个表

时间:2015-04-03 21:56:07

标签: php mysql mysqli

我正在尝试根据myTable1中的column订购myTable2。我已尝试使用各种joins,例如rightleftinner,只有join。以下两个SQL查询让我最接近最终目标,但它们仍然不对。 以下查询正确选择所有正确的记录,但不按所需顺序显示它们。它们只是按照它们存储在myTable1

中的顺序输出

SELECT myTable1.* FROM myTable1 INNER JOIN myTable2 b ON myTable1.myRef = b.myRef WHERE col2 = 1 ORDER BY b.col3 ASC

以下查询根据col2内的myTable2正确排序记录,但出于某种原因,它只返回部分结果,而不是所有结果。

SELECT myTable1.* FROM myTable1 LEFT JOIN myTable2 b ON myTable1.myRef = b.myRef WHERE col2 = 1 ORDER BY b.col3 ASC

对于记录我正在使用mysqli

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

SELECT myTable1.* FROM myTable1 JOIN (SELECT myTable2.* FROM myTable2) b ON myTable1.myRef = b.myRef WHERE col2 = 1 ORDER BY b.col3 ASC
  

如果您的 WHERE 语句正确引用 col2 ,   方法应该工作得很好。