Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选择列名称是其他表中的值(mysql)_Mysql_Sql - Fatal编程技术网

选择列名称是其他表中的值(mysql)

选择列名称是其他表中的值(mysql),mysql,sql,Mysql,Sql,tbl 1 tbl 2 如果tbl_2.rom=1tbl_2.clm=A,那么我想从tbl_1中选择列“A” 如果tbl_2.rom=1tbl_2.clm=B,那么我想从tbl_1中选择列“B” 如果tbl_2.rom=4tbl_2.clm=C,那么我想从tbl_1中选择列“C” 如何在查询中实现?提前谢谢你这是你想要的吗 +--------+------+------+ | ID | rom | CLM | +--------+------+------+ | 1 |

tbl 1

tbl 2

  • 如果tbl_2.rom=1tbl_2.clm=A,那么我想从tbl_1中选择列“A”

  • 如果tbl_2.rom=1tbl_2.clm=B,那么我想从tbl_1中选择列“B”

  • 如果tbl_2.rom=4tbl_2.clm=C,那么我想从tbl_1中选择列“C”


如何在查询中实现?提前谢谢你这是你想要的吗

+--------+------+------+
|   ID   | rom  | CLM  |
+--------+------+------+
|      1 |   1  |   A  |
|      2 |   1  |   B  |
|      3 |   2  |   A  |
|      4 |   3  |   A  |
|      5 |   3  |   B  |
|      6 |   4  |   C  |
+--------+------+------+

这看起来像是一个设计拙劣的问题,这是第一次:)thnks,但它仍然给我col | a | B | C |,我只需要一个col|u name(按tbl|2的值)
+--------+------+------+
|   ID   | rom  | CLM  |
+--------+------+------+
|      1 |   1  |   A  |
|      2 |   1  |   B  |
|      3 |   2  |   A  |
|      4 |   3  |   A  |
|      5 |   3  |   B  |
|      6 |   4  |   C  |
+--------+------+------+
select tbl_1.*, tbl_2.CLM from tbl_1,tbl_2 where tbl_1.room=tbl_2.room
SELECT a.room, CASE WHEN b.clm='A' THEN a.A WHEN b.clm='B' THEN a.B ELSE a.C END 
FROM tbl_1 a INNER JOIN tbl_2 b ON a.room=b.room