需要验证查询
Posted
技术标签:
【中文标题】需要验证查询【英文标题】:Need verification for a query 【发布时间】:2016-06-30 05:55:57 【问题描述】:我有三张桌子
客户:
客户 ID 名 姓氏
交易: 反式身份证 客户编号 代表ID 订单编号 代表:
代表身份证 名 姓氏
我需要显示所有交易信息,包括在特定日期发生的代表姓名和客户姓名。这个查询对吗?
SELECT *
FROM [Transactions], Clients.first name, Clients.last name, Representatives.first name, Representatives. last name
INNER JOIN [Clients]
ON Transactions.ClientID= Clients.Client ID
INNER JOIN [Representatives]
ON Transactions.RepresntativeID = Representatives.Represntative ID
WHERE Transactions.OrderDate BETWEEN '1996-09-18' AND '1996-11-27';
这是对的还是我完全错了?
【问题讨论】:
mysql 不使用方括号,所以查询对于 MySQL 来说是不正确的。 【参考方案1】:加盟条件很好。但是,根据 OrderDate
列的类型,您可能需要使用 MySQL 的 STR_TO_DATE
函数,例如:
WHERE STR_TO_DATE(`OrderDate`,'%d-%m-%Y')
BETWEEN '1996-09-18' AND '1996-11-27'
更新 我们还需要更新 SELECT 和 FROM 语法:
SELECT t.Trans_ID, c.first name, c.last_name, r.first name, r.last_name
FROM Transactions t INNER JOIN Clients c on t.ClientID= c.Client_ID
INNER JOIN Representatives r
ON t.RepresntativeID = r.Represntative_ID
【讨论】:
是初始选择 - 选择 FROM [Transactions]、Clients.first name、Clients.last name、Representatives.first name、Represents。姓氏有意义吗? 编辑了答案。看看.. :) 谢谢!但是我想显示 Transactions 表中的所有列...以“select * from transactions”开头然后从其他表中的其余列开始是错误的吗?以上是关于需要验证查询的主要内容,如果未能解决你的问题,请参考以下文章
@Get 控制器和布尔查询中的 NestJS 验证失败(需要数字字符串)