1

我有两个表 table1 和 table2。当 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 * FROM t1
WHERE s11 > ANY
 (SELECT COUNT(*) /* no hint */ FROM t2
 WHERE NOT EXISTS
  (SELECT * FROM t3
   WHERE ROW(5*t2.s1,77)=
    (SELECT 50,11*s1 FROM t4 UNION SELECT 50,77 FROM
     (SELECT * FROM t5) AS t5)));
于 2013-09-05T10:52:40.410 回答
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 回答