0

db-table 'dimensions' から html-table を出力しようとしています。ドロップダウンボックスから取得した選択したパイプタイプの寸法のみが必要です。今のところ、手動​​で「Steel」を入力するだけです。Steel は、db テーブル 'pipes' に pipe_id = 2 を持っています。

db-tool で最初のクエリを実行しましたが、2 が返されるので、何も問題はありません。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 に答える