1

table1 と table2 の 2 つのテーブルがあります。status=1 の場合、table1 の値が必要です

    SELECT type, no, 
        CASE WHEN status = '0' THEN 'Vacant'
             WHEN status = '2' THEN 'Repair'
             ELSE (SELECT `field1` FROM `table1` WHERE `field2`=10) AS test END AS addr 
FROM table2

このクエリは #1064 でエラーを出力します

単一の MYSQL クエリで値を取得するにはどうすればよいですか?

4

2 に答える 2

1
SELECT type, no, 
    CASE WHEN status = '0' THEN 'Vacant'
         WHEN status = '2' THEN 'Repair'
         WHEN status = '1' (SELECT `field1` FROM `table1` WHERE `field2`=10) END AS addr FROM table2

このコードを試すと、エラーは発生しません

于 2013-09-05T11:09:53.993 に答える