【发布时间】:2012-11-30 20:56:35
【问题描述】:
我的数据库中有 2 列包含文本(Products Code 和 Products Variant)。
例如:Products Code 包含以下文本:C050101、C070104Products Variant 包含以下文本:RED, NULL
我想选择所有行 WHERE Code = Products Code AND Variant = Products Variant。
根据我上面写的例子,我应该得到 2 行:
第一行WHERE Code=C050101 and Variant=RED
第二行 WHERE Code=C070104 and Variant IS NULL IS NULL
我不知道该怎么做...
如果我只需要选择所有行WHERE Code = Products Code >>
$arr = array('C050101','C070104');
$inclause = implode(',',array_fill(0,count($arr),'?'));
$stockstmt = $pdo->prepare(sprintf("SELECT `id`, `WebTitle`, `StockCode` FROM `stock` WHERE `StockCode` IN(%s)",$inclause));
$stockstmt->execute($arr);
非常感谢您的帮助。
谢谢!
【问题讨论】:
-
你的意思是像
WHERE code in (select ProductsCode from table)这样的东西吗?您的问题对什么起作用/不起作用感到困惑。 -
我没有说有什么东西不工作。我只想选择使用比我上面发布的更复杂的查询.. 类似
WHERE (Code="C050101" AND Variant="RED") OR (Code="C070104" AND Variant IS NULL) -
嗯,这就是你的答案,不是吗?通过添加要查询的两个字段来动态生成查询,或者创建一个临时表以在两个字段上连接。