gpt4 book ai didi

php - 从列数不同的两个表中选择 *

转载 作者:可可西里 更新时间:2023-11-01 06:56:25 25 4
gpt4 key购买 nike

如何从两个不同的表中选择不同的列,例如:

SELECT username, email FROM `table1` 
UNION
SELECT * FROM `table2` WHERE username = 'user1';

我收到错误 “#1222 - 使用的 SELECT 语句具有不同的列数”。据我了解,UNION 将不起作用,

有没有办法做到这一点,因为我需要不相等数量的列和行并且两个表中没有相互/相似的条目(即user1未在表1中列出)?

这不能在一个查询中完成吗?

谢谢!

最佳答案

您可以使用别名伪造缺失的列 - 例如

 SELECT username, email, '' as name FROM `table1` 
UNION
SELECT username, email, name FROM `table2`
WHERE username = 'user1';

其中 name 在 table2 中,但不在 table1 中

除非您将 UNIONS 与 JOINS 混淆:

SELECT table1.*, table2.* FROM
table1 INNER JOIN table2
ON table1.username = table2.username

这将合并两个表,因此您可以在同一行上获得所有列。

关于php - 从列数不同的两个表中选择 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10660788/

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