我试图根据myTable1
中的column
订购myTable2
。我已经尝试过使用各种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
以下查询根据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,则此
该方法应该工作正常。