0

我正在尝试从 db-table 'dimensions' 中打印出一个 html-table。我只想要从下拉框中获得的所选管道类型的尺寸。现在我只是手动输入“钢”。Steel 在数据库表“管道”中具有 pipe_id = 2。

我已经在我的 db-tool 中运行了第一个查询,它返回 2 所以那里没有错。第二个查询不返回任何内容。但是当我手动设置 $wq = 2 (我在下面注释掉)时,它会完美地打印出 html 表。我在这里做错了什么?

$wq="SELECT pipe_id FROM pipes WHERE title_en = 'Steel'";
//$wq = '2';

$sql="SELECT * FROM dimensions WHERE  pipe_id = '".$wq."'";
4

3 回答 3

1

只需使用这个简单的子查询:

 $sql="SELECT * FROM dimensions WHERE pipe_id = 
    (SELECT pipe_id FROM pipes WHERE title_en = 'Steel');
于 2012-09-28T21:34:56.633 回答
0

如果我是你,我会尝试更多类似的东西:

$sql = "SELECT * FROM dimensions AS A, pipe_id AS B WHERE B.title_en='Steel' AND A.pipe_id=B.pipe_id';
于 2012-09-28T21:30:48.517 回答
-1

1.

SELECT
    d.*
FROM 
    dimensions AS d
    INNER JOIN pipes AS p ON
        p.pipe_id = d.pipe_id AND
        p.title_en = 'Steel'

2.

SELECT
    d.*
FROM (
    dimensions AS d,
    pipes AS p
)
WHERE
    p.pipe_id = d.pipe_id AND
    p.title_en = 'Steel'

3.

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
    )
于 2012-09-28T21:34:25.087 回答