如何在sql中使用'inner join'和'order by'

eme*_*men 2 mysql sql

我想在php页面的查询中使用内连接和顺序.
我的查询:

select 
    * 
from 
    table1 
inner join 
    table1category 
    on table1.table1category_id = table1category.id
order by updateDate desc;
Run Code Online (Sandbox Code Playgroud)

'updateDate'用于table1 =>错误:order子句中的列'updateDate'不明确

Raf*_*ael 7

order子句中的列'updateDate'是不明确的

表示updateDate存在于您尝试使用的两个表中.如果要使用此字段进行订购,则必须指定要从中订购的表.

例如:

SELECT
  *
FROM table1
INNER JOIN table1category
  ON table1.table1category_id = table1category.id
ORDER BY table1.updateDate DESC;
Run Code Online (Sandbox Code Playgroud)

另外,考虑*SELECT with JOINS上使用将获得所有包含的表中的所有列.

  • 很奇怪,在你回答之后,每个人都在复制相同的东西. (2认同)
  • 好吧......¯\ _(ツ)_ /¯ (2认同)

Fah*_*hmi 5

当两个表中有相同的列时,您必须使用该列指定表名

SELECT
  *
FROM table1
INNER JOIN table1category
  ON table1.table1category_id = table1category.id
ORDER BY table1.updateDate DESC;
Run Code Online (Sandbox Code Playgroud)