【发布时间】:2016-09-02 12:53:22
【问题描述】:
我的 SQL 查询没有返回假定由我的 where 子句指定的输出。
这是我的查询:
SELECT
transaction_details.transaction_id
,transaction_details.transaction_number
,transaction_details.product_id
,Products3.ProductName
FROM transaction_details
INNER JOIN Products3
ON transaction_details.product_id = Products3.productID
INNER JOIN transaction_status
ON transaction_details.transaction_id = transaction_status.transaction_id
WHERE status_of_transaction = 'review'
此查询应返回带有status_of_transaction = 'review' 的表行。
这是我的表格,其中包含 status_of_transaction
我尝试了DISTINCT,但它不起作用。
这是我总是得到的输出:
我的查询是否有问题,它返回了我的 WHERE 子句未指定的表行?
【问题讨论】:
-
transaction_number删除此列,否则您应该使用GROUP BY -
如果在
SELECT子句中包含status_of_transaction会发生什么?结果数据是什么?我怀疑这里可能发生了其他事情,可能与JOINs 的产品有关,而不是WHERE子句根本不起作用。 -
@NEER 去试试
-
@NEER 这并不能解决问题,它只是掩盖了它。分组数据集中仍在返回附加行。
-
@NEER 你刚才给出的答案工作。但对于像我这样的初学者来说有点难以理解
标签: mysql sql-server