代码之家  ›  专栏  ›  技术社区  ›  Ali

这个MySQL查询有什么问题?[关闭]

  •  3
  • Ali  · 技术社区  · 15 年前
    SELECT app_contracts.*, app_customers.id as customer, app_boards.id as board
     WHERE app_customers.id=app_contracts.customer_id 
     AND app_boards.id=app_contracts.board_id 
     ORDER BY app_contracts.id DESC
    

    错误:

    错误号:1064

    您的SQL语法有错误; 检查对应的手册 您的mysql服务器版本 在'where'附近使用的正确语法 app_customers.id=app_contracts.customer_id 和app_boards.id=app_contracts'at 第2行

    5 回复  |  直到 12 年前
        1
  •  8
  •   David Hedlund    15 年前

    您需要在WHERE子句之前从某个内容(例如表)中进行选择

        2
  •  8
  •   Rich Adams    15 年前

    在“Where”之前缺少“From”子句。

    选择app_contracts.*、app_customers.id作为customer、app_boards.id作为board。
    从应用程序客户,应用程序合同
    其中app_customers.id=app_contracts.customer_id
    和app_boards.id=app_contracts.board_id
    按应用程序订购合同.id描述

        3
  •  3
  •   Justin Giboney    15 年前

    没有FROM子句

        4
  •  1
  •   FerranB Tom    15 年前

    这个必须工作:

     SELECT app_contracts.*, app_customers.id as customer, app_boards.id as board
     FROM app_customers, app_contracts, app_boards
     WHERE app_customers.id=app_contracts.customer_id 
     AND app_boards.id=app_contracts.board_id 
     ORDER BY app_contracts.id DESC
    
        5
  •  1
  •   Alistair Knock    15 年前

    尚未指定要从中选择数据的表。它应该更符合以下形式:

    SELECT app_contracts.*, app_customers.id as customer, app_boards.id as board
    FROM app_contracts, app_customers, app_boards
    JOIN ...
    WHERE app_customers.id=app_contracts.customer_id 
    AND app_boards.id=app_contracts.board_id 
    ORDER BY app_contracts.id DESC
    

    在哪里? JOIN ... 指定三个表的相关键。