gpt4 book ai didi

php - 使用 * 标记列

转载 作者:行者123 更新时间:2023-11-30 22:33:54 25 4
gpt4 key购买 nike

是否可以使用带前缀的 SELECT * 分配列名。很难解释,请看这个例子。

$connect->prepare("
SELECT
user.firstName as prefix_firstName,
user.lastName as prefix_lastName
FROM user
WHERE user.ID = '5'
");

我希望能够使用 user.* 并使用 * 分配前缀作为 prefix_。像这样:

SELECT 
user.* as prefix_*

它会像 prefix_firstName 一样将每一列分配给 prefix_,而不必调用每一列并为其分配 as prefix_columnName。喜欢:

SELECT
user.firstName as prefix_firstName,
user.lastName as prefix_lastName

我希望这个解释足够好。

已更新谢谢.. 原因是,我需要从同一张 table 上拉 3 个人。使用

SELECT user.*,
admin.*,
creator.*
FROM
user
LEFT JOIN
user as admin
ON
admin.ID = user.adminID
LEFT JOIN
user as creator
ON
creator.ID = user.creatorID
WHERE
user.ID = '5'

例如,所有 3 个选择(user.*admin.*creator.*)都将创建相同的 firstName 变量会覆盖自己。我想也许有比这样做更快捷的方法。

SELECT
user.firstName,
user.lastName,
admin.firstName as admin_firstName,
admin.lastName as admin_lastName,
creator.firstName as creator_firstName,
creator.lastName as creator_lastName
FROM
user
LEFT JOIN
user as admin
ON
admin.ID = user.adminID
LEFT JOIN
user as creator
ON
creator.ID = user.creatorID
WHERE
user.ID = '5'

这只是一个片段,用户表中实际上有 37 列需要为 3 个用户中的每一个提取。

谢谢!

最佳答案

不,使用 sql 是不可能的。如果查询是在 php 代码中动态组合的,则 php 代码可以将查询构建为字符串,以分别包含每个字段和别名。

关于php - 使用 * 标记列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33091517/

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