由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - mysql 问题 (转载)
相关主题
SQL 查询已经解决.谢谢Modeler,mirthc,cheungche问一道SQL的题 (转载)
咋样选一个表中在另一个表中不含有的记录SQL question...
请问sql语句能不能实现这样的功能Access 里面两个 column不一样的table 能combine 到一起吗?
请问这个query怎么做在没有Key的情况下,怎么update一个table的内容到另一个table?
怎样快速得到两个表的交集Common Table Expression 问题
how to write this query有包子!sql procedure 来rank不同table里面的数据
SQL combine two tables into one table and add a new column最近写了不少SQL script,请大牛评价下属于什么水平
怎么写个query 把输出变成横排.请教set和select 的区别
相关话题的讨论汇总
话题: categories话题: table话题: location话题: when话题: mysql
进入Database版参与讨论
1 (共1页)
j***3
发帖数: 142
1
【 以下文字转载自 Statistics 讨论区 】
发信人: j1123 (2134), 信区: Statistics
标 题: mysql 问题
发信站: BBS 未名空间站 (Sun Jan 3 17:15:03 2010, 美东)
table 1
categories location
A M
A H
B M
B H
C M
C H



table 2
location categories_A categories_B categories_C 。。。。。
M 100 300 500
H 300 700 109



想从 table 1 和 table 2 得到
table 3
categories location
y****w
发帖数: 3747
2
select categories, location,
(
select case categories when 'A' then categories_a when 'B' then categories_b
when 'C' then categories_c end
from table2 where location = tb1.location
)
from table1 tb1
;
try whether it works in mysql.
a9
发帖数: 21638
3
SELECT a.categories,a.location ,CASE a.categories WHEN 'A' THEN b.categorie
s_a WHEN 'B' THEN b.categories_b WHEN 'C' THEN b.categories_C END as
categories
FROM table1 LEFT JOIN table2 as b ON a.location=b.location
这样就行吧?

_b

【在 y****w 的大作中提到】
: select categories, location,
: (
: select case categories when 'A' then categories_a when 'B' then categories_b
: when 'C' then categories_c end
: from table2 where location = tb1.location
: )
: from table1 tb1
: ;
: try whether it works in mysql.

y****w
发帖数: 3747
4
等价的,习惯问题,

categorie

【在 a9 的大作中提到】
: SELECT a.categories,a.location ,CASE a.categories WHEN 'A' THEN b.categorie
: s_a WHEN 'B' THEN b.categories_b WHEN 'C' THEN b.categories_C END as
: categories
: FROM table1 LEFT JOIN table2 as b ON a.location=b.location
: 这样就行吧?
:
: _b

j***3
发帖数: 142
5
谢谢ls的a9和yhangw!
两个table的categories比较变态,数量》100,这样一个个列太慢,请问有没有可能用个变量表
示table 1 中的categories?
再谢了
B*****g
发帖数: 34098
6
I believe this can be done through XML functions. Too busy, no time to write
real code now. You can try.

用个变量表

【在 j***3 的大作中提到】
: 谢谢ls的a9和yhangw!
: 两个table的categories比较变态,数量》100,这样一个个列太慢,请问有没有可能用个变量表
: 示table 1 中的categories?
: 再谢了

k********0
发帖数: 585
7
metabase could work. Just an idea:
could be
select *
from some_systemtable
where column like 'categories_%'
then ... make sql command strings ... could use cursor too (not sure if
mysql has it, should have similars)
y****w
发帖数: 3747
8
看来你被那个xml function大拿给诱惑了,呵呵,

write

【在 B*****g 的大作中提到】
: I believe this can be done through XML functions. Too busy, no time to write
: real code now. You can try.
:
: 用个变量表

y****w
发帖数: 3747
9
a9那种写法比我的习惯好,呵呵,对有些不怎么聪明的优化器来说我那种效率
可能会差不少,
to lz,用下面这个自动生成目标sql语句,
mysql> select * from t1;
+------------+----------+
| catagories | location |
+------------+----------+
| A | M |
| A | H |
| B | M |
| B | H |
| C | M |
| C | H |
+------------+----------+
6 rows in set (0.00 sec)
mysql> select concat('select a.categories, a.location, ', group_concat(distinct
concat('case when categories = ''', catago
1 (共1页)
进入Database版参与讨论
相关主题
请教set和select 的区别怎样快速得到两个表的交集
请教大虾问题哈,包子谢哈how to write this query
菜鸟问题,急SQL combine two tables into one table and add a new column
请教高手,包子谢怎么写个query 把输出变成横排.
SQL 查询已经解决.谢谢Modeler,mirthc,cheungche问一道SQL的题 (转载)
咋样选一个表中在另一个表中不含有的记录SQL question...
请问sql语句能不能实现这样的功能Access 里面两个 column不一样的table 能combine 到一起吗?
请问这个query怎么做在没有Key的情况下,怎么update一个table的内容到另一个table?
相关话题的讨论汇总
话题: categories话题: table话题: location话题: when话题: mysql