gpt4 book ai didi

php - 从两个表中选择而不是订购

转载 作者:行者123 更新时间:2023-11-29 01:23:40 25 4
gpt4 key购买 nike

我有4个表,default_table, table_a, table_b, table_c,每个表有两列,
我想从所有表中选择 nameid 然后对其进行排序,
我尝试"SELECT Name,ID FROM default_table, table_a, table_b, table_c ORDER BY Name"
但这给了我错误,所以有人可以帮我解决这个问题,我需要 sql 或 php 代码,如果可以的话甚至需要 javascript

最佳答案

因为 order by 是在联合之后应用的,你可以这样做:

select id, name from default_table
union all select id, name from table_a
union all select id, name from table_b
union all select id, name from table_c
order by name

您的问题是您正在对所有表数据进行笛卡尔积运算,因此无法确定哪个 idname 你是说。由于乘法效应,即使可以,您也会方式 获得比预期更多的行。您只想通过所有行添加到输出来连接数据。


进一步解释区别,假设您有两个表:

table1          table2
====== ======
id name id name
-- ---- -- ------
1 pax 1 jill
2 bob 2 debbie
3 joe

查询:

select a.id, a.name, b.id, b.name from table1 a, table2 b

(笛卡尔积)会给你:

1 pax 1 jill
1 pax 2 debbie
2 bob 1 jill
2 bob 2 debbie
3 joe 1 jill
3 joe 2 debbie

(行数是各个行数的乘积)而:

select id, name from table1
union all
select id, name from table2

(工会)会给你:

1 pax
2 bob
3 joe
1 jill
2 debbie

(行数是各个行数的总和)。

关于php - 从两个表中选择而不是订购,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9509268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com