A表:
ID name Parent_ID
1 消费结算 -1
2 会员管理 -1
3 会员充值 -1
4 订单列表 -1
5 系统统计 -1
6 系统管理 -1
7 操作记录 -1
8 管理员管理 6
9 商品管理 6
10 价格设置 6
11 会员规则设置 6
12 消费操作记录 7
13 会员操作记录 7B表:
ID O_ID A_ID
52 100018 3
53 100018 6
54 100018 10A表的ID和B表的A_ID关联想查询得到这样的结果
ID name Parent_ID ID O_ID A_ID
1 消费结算 -1 NULL NULL NULL
2 会员管理 -1 NULL NULL NULL
3 会员充值 -1 52 100018 3
4 订单列表 -1 NULL NULL NULL
5 系统统计 -1 NULL NULL NULL
6 系统管理 -1 53 100018 6
7 操作记录 -1 NULL NULL NULL
8 管理员管理 6 NULL NULL NULL
9 商品管理 6 NULL NULL NULL
10 价格设置 6 54 100018 10
11 会员规则设置 6 NULL NULL NULL
12 消费操作记录 7 NULL NULL NULL
13 会员操作记录 7 NULL NULL NULL网上能找到很多,,但都不行,,,,,,,有没有一条SQL语句能实现........求大神教教....
ID name Parent_ID
1 消费结算 -1
2 会员管理 -1
3 会员充值 -1
4 订单列表 -1
5 系统统计 -1
6 系统管理 -1
7 操作记录 -1
8 管理员管理 6
9 商品管理 6
10 价格设置 6
11 会员规则设置 6
12 消费操作记录 7
13 会员操作记录 7B表:
ID O_ID A_ID
52 100018 3
53 100018 6
54 100018 10A表的ID和B表的A_ID关联想查询得到这样的结果
ID name Parent_ID ID O_ID A_ID
1 消费结算 -1 NULL NULL NULL
2 会员管理 -1 NULL NULL NULL
3 会员充值 -1 52 100018 3
4 订单列表 -1 NULL NULL NULL
5 系统统计 -1 NULL NULL NULL
6 系统管理 -1 53 100018 6
7 操作记录 -1 NULL NULL NULL
8 管理员管理 6 NULL NULL NULL
9 商品管理 6 NULL NULL NULL
10 价格设置 6 54 100018 10
11 会员规则设置 6 NULL NULL NULL
12 消费操作记录 7 NULL NULL NULL
13 会员操作记录 7 NULL NULL NULL网上能找到很多,,但都不行,,,,,,,有没有一条SQL语句能实现........求大神教教....
解决方案 »
- 什么语句可以得到指定数据库的所有用户表名和所有者名?
- 在线等, 求一个得到主贴以及回帖相关的sql语句, 谢谢.
- 关于两个表互相更新字段的触发器的写法????
- 简单的触发器的问题,高手来解答一下。
- 急問一個問題,我建表的某個字段不給定長度,讓它自動分配長度,不知可不可以實現。
- 自动增量问题
- 小问题,但是分多!
- 如何嵌套查询????????急!!!!!!!!!!
- 这个排序怎么办?
- 两个无关联的查询可以这样写出SQL一次查询列吗?
- SQL 语言:如果表中cardnum字段的值为空,则给它赋值
- 为什么sql2005的临时表排序规则不一样不会报错,但是2008 r2的话就得加“collate 排序类型”才能用
left outer join B表 on A表.ID = B表.A_ID
这个试过了.....B表中与A表没关联的记录都没有被显示出来没关联当然显示不出来。
把需求描述清楚先我想得到这样的结果
ID name Parent_ID ID O_ID A_ID
1 消费结算 -1 NULL NULL NULL
2 会员管理 -1 NULL NULL NULL
3 会员充值 -1 52 100018 3
4 订单列表 -1 NULL NULL NULL
5 系统统计 -1 NULL NULL NULL
6 系统管理 -1 53 100018 6
7 操作记录 -1 NULL NULL NULL
8 管理员管理 6 NULL NULL NULL
9 商品管理 6 NULL NULL NULL
10 价格设置 6 54 100018 10
11 会员规则设置 6 NULL NULL NULL
12 消费操作记录 7 NULL NULL NULL
13 会员操作记录 7 NULL NULL NULL把O_ID为100018的查询出来,,,与A表没关联的记录都显示NULL有没有这样的SQL语句???
这个试过了.....B表中与A表没关联的记录都没有被显示出来你是想显示B总全部数据吗?
;with a(ID,[name],Parent_ID) AS(
SELECT 1,N'消费结算',-1 UNION ALL
SELECT 2,N'会员管理',-1 UNION ALL
SELECT 3,N'会员充值',-1 UNION ALL
SELECT 4,N'订单列表',-1 UNION ALL
SELECT 5,N'系统统计',-1 UNION ALL
SELECT 6,N'系统管理',-1 UNION ALL
SELECT 7,N'操作记录',-1 UNION ALL
SELECT 8,N'管理员管理',6 UNION ALL
SELECT 9,N'商品管理',6 UNION ALL
SELECT 10,N'价格设置',6 UNION ALL
SELECT 11,N'会员规则设置',6 UNION ALL
SELECT 12,N'消费操作记录',7 UNION ALL
SELECT 13,N'会员操作记录',7)
,b(ID,O_ID,A_ID) AS (
SELECT 52,'100018',3 UNION ALL
SELECT 53,'100018',6 UNION ALL
SELECT 54,'100018',10 UNION ALL
SELECT 55,'100018',100)
SELECT b.*,a.* from a RIGHT JOIN b on b.A_ID=a.ID
WHERE b.O_ID='100018'
/*
ID O_ID A_ID ID name Parent_ID
----------- ------ ----------- ----------- ------ -----------
52 100018 3 3 会员充值 -1
53 100018 6 6 系统管理 -1
54 100018 10 10 价格设置 6
55 100018 100 NULL NULL NULL
*/
O_ID A_ID
100018 9
------------A表ID=6怎么显示?
ID name Parent_ID ID O_ID A_ID
9 商品管理 6 55 100018 9A表ID和B表A_ID关联,,,,,,,,,A表的ID与 Parent_ID关联
应该不会在重复吧
B表ID=53的记录对应的应该是A表ID=6的记录
B表ID=54的记录对应的应该是A表ID=10的记录因为我想要的结果集应该是这样的ID name Parent_ID ID O_ID A_ID
1 消费结算 -1 NULL NULL NULL
2 会员管理 -1 NULL NULL NULL
3 会员充值 -1 52 100018 3
4 订单列表 -1 NULL NULL NULL
5 系统统计 -1 NULL NULL NULL
6 系统管理 -1 53 100018 6
7 操作记录 -1 NULL NULL NULL
8 管理员管理 6 NULL NULL NULL
9 商品管理 6 NULL NULL NULL
10 价格设置 6 54 100018 10
11 会员规则设置 6 NULL NULL NULL
12 消费操作记录 7 NULL NULL NULL
13 会员操作记录 7 NULL NULL NULL
FROM A
LEFT JOIN B ON a.ID = b.A_ID
AND b.O_ID = '100018';
这个应该能满足你的要求