[英]Not a unique table/alias stock:
我有以下查询:
$sql = "SELECT `scanners`.`KordNo`, `scanners`.`BundleNumber`
FROM `scanners`, `TWOrder`, `Stock`
INNER JOIN `TWORDER` ON `scanners`.`KordNo` = `TWOrder`.`KOrdNo`
AND `scanners`.`Date` = '" . $date . "'
INNER JOIN `Stock` ON `TWOrder`.`Product` =`Stock`.`ProductCode`
AND `Stock`.`ProductGroup` NOT BETWEEN 400 AND 650
AND `scanners`.`Scanner` IN (
ORDER BY `scanners`.`KordNo` ASC";
foreach($scanner as $x)
{$sql .= $x . ",";}
$sql .= "0);";
// And query the database
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
$return[] = $row;
}
当我回复php上的sql我的管理员我得到错误不是一个独特的表/别名股票;
有人可以建议吗?
由于您使用的是显式JOIN,因此请从FROM子句中删除其他两个表。
...
FROM `scanners`
INNER JOIN `TWORDER` ON `scanners`.`KordNo` = `TWOrder`.`KOrdNo`
...
在第2行你有......
FROM `scanners`, `TWOrder`, `Stock`
然后你有一些INNER JOINs到TWOrder和Stock。
,
和JOIN
),这是凌乱。 坚持JOIN
如果您真的需要在一个查询中多次包含这些表,则需要为它们指定别名,以便它们可以相互分离。
但我认为这可能是一个错误,第2行应该是
FROM `scanners`
然后,我也不确定你是如何编译的。 你有IN (
然后是一个ORDER BY子句,你追加一个值列表。你应该在ORDER BY之前追加列表,然后在完成循环后追加ORDER BY。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.