吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 672|回复: 10
收起左侧

[讨论] 如何利用查询语句将没有关联的数据表在一个查询结果中显示

[复制链接]
zhaojf1978 发表于 2024-7-12 16:56
本帖最后由 zhaojf1978 于 2024-7-12 17:00 编辑

在sql等数据查询中,有时会碰到没有关系的几张表的不同字段
如有x,y,z三张表,x表第1字段存放字母a,第2字段存放字母b;
                             y表第1字段存放字母c,第2字段存放字母d;
                             z表第1字段存放字母e,第2字段存放字母f;
现在要查询x,y,z表中的第1个字段的内容,如何利用select语句将没有关联的数据表的内容在一个查询结果中显示?
网上也查了下,可以用下面的语句进行查询
[SQL] 纯文本查看 复制代码
SELECT x."1" ,y."1" ,z."1"FROM zhaojf06 x,zhaojf07 y,zhaojf08 z;

查询结果为a,c,e
各位老师有好的做法可以也帮忙分享下,谢谢

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lisongmei 发表于 2024-7-12 18:13
join    union
lcg2014 发表于 2024-7-12 18:25
liyitong 发表于 2024-7-12 18:34
这样的话,每个表里面的条目数得一致啊。
然后,用个视图吧
下雪天的小乞丐 发表于 2024-7-12 18:59
select distinct x.1,y.1,z.1 from x x
left join y y on 1=1
left join z z on 1=1
笛卡尔积关联,这个如果数据量大会比较站资源,数据量少无所谓
lastmu 发表于 2024-7-12 19:56
如果是把x,y,z表中的第1个字段的内容竖向拼接成1维表,用union all
风子是我 发表于 2024-7-12 20:32
[SQL] 纯文本查看 复制代码
SELECT x.第1个字段
FROM x
WHERE x.第1个字段 LIKE 'a%'
UNION
SELECT y.第1个字段
FROM y
WHERE y.第1个字段 LIKE 'c%'
UNION
SELECT z.第1个字段
FROM z
WHERE z.第1个字段 LIKE 'e%'
meder 发表于 2024-7-13 01:03
这个话题不错,我也想请教一下来着
ahehaoyu 发表于 2024-7-13 08:56
有了GPT就懒得思考了

以下是GPT的回答  你可以试试

要在一个查询结果中显示来自没有关系的多张表的字段内容,你可以使用SQL中的`UNION`操作符。`UNION`可以将多个`SELECT`查询的结果合并成一个结果集,并且会自动去除重复的记录。如果你不希望去除重复的记录,可以使用`UNION ALL`。

以下是具体的查询示例:

[SQL] 纯文本查看 复制代码
SELECT x.column1 AS 字母
FROM x
UNION ALL
SELECT y.column1
FROM y
UNION ALL
SELECT z.column1
FROM z;


这个查询会从表`x`中选择第一个字段的内容,再从表`y`中选择第一个字段的内容,最后从表`z`中选择第一个字段的内容,并将这些内容合并成一个结果集。

如果你还需要显示来自这些表的其他字段,可以对每个`SELECT`语句进行相应的扩展。例如,如果你还需要显示每个表的第二个字段,可以这样写:

[SQL] 纯文本查看 复制代码
SELECT x.column1 AS 字母, x.column2 AS 其他字段
FROM x
UNION ALL
SELECT y.column1, y.column2
FROM y
UNION ALL
SELECT z.column1, z.column2
FROM z


这样,查询结果中不仅会显示每个表的第一个字段的内容,还会显示相应的第二个字段的内容。
Kls673M 发表于 2024-7-13 10:09
没有关联, 你怎么知道那个数据是跟那个有关系的呢, 即使查出来也没有意义吧
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 20:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表