我正在尝试根据myTable2
中的column
订购myTable1
。我已经尝试过使用所有类型的joins
,例如right
、left
、inner
和单独的join
。下面的两个SQL查询使我最接近最终目标,但它们仍然不正确。以下查询正确地选择了所有正确的记录,但没有按所需顺序显示它们。它们只是按照存储在myTable1
中的顺序输出
SELECT myTable1.* FROM myTable1 INNER JOIN myTable2 b ON myTable1.myRef = b.myRef WHERE col2 = 1 ORDER BY b.col3 ASC
以下查询根据myTable2
中的col2
对记录进行了正确排序,但由于某些原因,它只返回部分结果,而不是全部结果。
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正确,则这种方法应该很有效。