我正在尝试从db-table' dimensions'打印出一个html表。我只想要从下拉框中获取所选管道类型的尺寸。现在我只是手动输入“钢铁”。 Steel在db-table'pipe'中有pipe_id = 2。
我在db-tool中运行了第一个查询,它返回2,所以没有错。第二个查询什么都不返回。但是当我手动设置$ wq = 2(我在下面注释)时,它会完美地打印出html-table。我在这做错了什么?
$wq="SELECT pipe_id FROM pipes WHERE title_en = 'Steel'";
//$wq = '2';
$sql="SELECT * FROM dimensions WHERE pipe_id = '".$wq."'";
答案 0 :(得分:1)
只需使用这个简单的子查询:
$sql="SELECT * FROM dimensions WHERE pipe_id =
(SELECT pipe_id FROM pipes WHERE title_en = 'Steel');
答案 1 :(得分:0)
如果我是你,我会尝试更像这样的事情:
$sql = "SELECT * FROM dimensions AS A, pipe_id AS B WHERE B.title_en='Steel' AND A.pipe_id=B.pipe_id';
答案 2 :(得分:-1)
SELECT
d.*
FROM
dimensions AS d
INNER JOIN pipes AS p ON
p.pipe_id = d.pipe_id AND
p.title_en = 'Steel'
SELECT
d.*
FROM (
dimensions AS d,
pipes AS p
)
WHERE
p.pipe_id = d.pipe_id AND
p.title_en = 'Steel'
SELECT
d.*
FROM
dimensions AS d
WHERE
d.pipe_id = (
SELECT p.pipe_id
FROM pipes AS p
WHERE p.title_en = 'Steel'
LIMIT 1
)