SQL选择WHERE AND AND

时间:2013-06-21 21:40:05

标签: mysql

我有一个产品页面,当您点击添加到购物篮

$pid = $_POST['pid'];
$size= $_POST["length"];
$Category = $_POST['Category'];

它运行POST方法,发布上述方法。从该价格可以根据长度选择。因为该类别是下拉菜单...我发布了用户选择的任何类别。

以下是我的3个表和查询的示例。希望有所帮助 表:产品

  Pid     Name
   1      man
   2      woman
   3      child

表:类别

CatID  Name          Pid
1       pen           1
2       pen           1
3       pencil        2
3       red_pen       3

表active_product

ATpid  size pid   price
 1      12   1     10
 2      14   2     15
 3      16   3     20
 4      18   4     30

我的查询我已经尝试了

SELECT Name, size, price
FROM active_product, Product, Category
WHERE Product.pid=1
AND size=10  AND Name.Category=pen Limit 1

查询无效。我该如何改进呢?

3 个答案:

答案 0 :(得分:0)

1)你忘记了引用

2)您应该描述您使用哪个表的名称。

SELECT Category.Name, size, price
FROM active_product, Product, Category
WHERE Product.pid=1
AND size=10  AND Name.Category="pen" Limit 1

答案 1 :(得分:0)

我认为你应该这样:

SELECT Product.Name, size, price
FROM active_product, Product, Category
WHERE Product.pid=1
AND size=10  AND Category.Name="pen" Limit 1

名称不是表格。

答案 2 :(得分:0)

您有两个名称列(一个在product中,另一个在category中),但您没有在列列表中指定所需的列。您没有名为Name的表格,因此Name.Category条款中没有WHERE,如果您需要指定Name = 'pen'(请参阅值'

看起来你真的应该在某个地方寻找一个SQL教程网站,因为这些都是基本的错误。 Google和Bing可能会为您找到一个。另外,为了将来参考,在这里发布一些模糊的陈述,例如"它不起作用"没有解释这意味着什么通常导致问题被关闭。

相关问题