我试图根据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

最佳答案

请尝试以下操作:

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,则此
  该方法应该工作正常。

08-06 03:08