表 total
ID tableName tableID
1 A 1
2 A 2
3 B 1
4 A 3
5 A 4
6 B 2
7 B 3
8 B 4
6 A 5
表 A
ID NAME
1 一
2 二
3 三
4 四
5 五
6 六
7 七
表 B
ID NAME
1 1
2 2
3 3
4 4
5 5
6 6
7 7total做主表,当tableName=A的时候,就到A表关联相应ID的记录;当table=B的时候,就到B表关联相应ID的记录。期望的结果集:
ID tableName tableID NAME
1 A 1 一
2 A 2 二
3 B 1 1
4 A 3 三
5 A 4 四
6 B 2 2
7 B 3 3
8 B 4 4
6 A 5 五
ID tableName tableID
1 A 1
2 A 2
3 B 1
4 A 3
5 A 4
6 B 2
7 B 3
8 B 4
6 A 5
表 A
ID NAME
1 一
2 二
3 三
4 四
5 五
6 六
7 七
表 B
ID NAME
1 1
2 2
3 3
4 4
5 5
6 6
7 7total做主表,当tableName=A的时候,就到A表关联相应ID的记录;当table=B的时候,就到B表关联相应ID的记录。期望的结果集:
ID tableName tableID NAME
1 A 1 一
2 A 2 二
3 B 1 1
4 A 3 三
5 A 4 四
6 B 2 2
7 B 3 3
8 B 4 4
6 A 5 五
解决方案 »
- 看一下这是什么MYSQL语句
- 求救mysql存储过程返回的问题
- 圣诞快乐,来一个简单问题,放分。
- 为啥复制粘贴附加数据库失败了
- 这个SQL查询怎么查
- 动态数据转移
- 已经分了词,建了FULLTEXT,把ft_min_len_word也设为2,但全文搜索还是不能支持中文
- MySQL中存储中文用utf8还是gb2312? longtext是最长的字符类型吗,和varchar比呢?
- 一个菜问题
- 請教:下載了 mysql4.1.0-win32-apache.zip ,解壓後發現沒有setup文件,我以前裝的mysql3.2.3安裝過後的目錄一樣,不知4.1的是如何安裝
- 求助!怎样实现数据库语句的优化?
- MySQL史上最难的难题,急求高人!高人请进!LEFT JOIN + UNION 四个表
FROM total T
LEFT JOIN A on T.totalName=A.ID AND T.totalName='A'
LEFT JOIN B on T.totalNmae=B.ID AND T.totalName='B'
FROM a_table t
LEFT JOIN a_a a ON t.tableID=a.id AND tableName='A'
LEFT JOIN a_b b ON t.tableID=b.id AND tableName='B'
SELECT a.*,IF((tableName='A'),(SELECT name FROM a_a m WHERE m.id=a.tableID),(SELECT name FROM a_b n WHERE n.id=a.tableID)) as name
FROM a_table a;
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html