要使用哪个 sql 查询? [关闭]
Posted
技术标签:
【中文标题】要使用哪个 sql 查询? [关闭]【英文标题】:Which sql query to be used? [closed] 【发布时间】:2016-04-09 08:09:21 【问题描述】:我说过 n 个不同的表,每个表有 3 个属性
ie Table1: name|price|id
Table2: name|price|id
.
.
Tablen: name|price|id
请告诉我应该在我的 php 代码中使用什么 sql 查询,以便我可以从上述所有具有相同 ID 的表中检索所有名称和价格,例如 id=1。
【问题讨论】:
投票应该被关闭.. 请告诉我应该使用什么 sql 查询 - 我们不是来做你的功课 对所有表使用UNION ALL
从所有表中获取数据where id = 1
我认为这不是SQL Query的问题,是数据库结构的问题。如果您不更改结构,请尝试使用@SaharshShah 表示的UNION ALL
到目前为止你有什么? How to Ask
欢迎来到 Stack Overflow!发布的所有内容都是程序说明。但是,我们需要您ask a question。我们无法确定您想从我们这里得到什么。请edit您的帖子包含一个我们可以回答的有效问题。提醒:请确保您知道what is on-topic here,请我们为您编写程序,建议是题外话。
【参考方案1】:
如果您的列数相同,您可以使用 SELECT 和 UNION。
例子:
SELECT * FROM Table1
UNION
SELECT * FROM Table2
UNION
SELECT * FROM Tablen
如果你不想在你的结果中所有记录使用 UNION ALL 如果你只想要差异使用 UNION ALL
在您的情况下,这是适合您的解决方案:
SELECT * FROM
(
select * from table1
UNION
select * from table2
UNION
select * from table3
) AS Results
WHERE Results.ID = 1
【讨论】:
union 看起来不错,但是如果我只希望表中的那些行具有相同的 id 属性值怎么办?即我想要上表中所有具有相同 id 的行。 尝试用 UNION ALL 替换 UNION 例如。表一:姓名=A | ID:1,名称 = B | ID: 2 ,表 2:name=C |ID:1,name=D|ID:2 并且对于输出,我想要所有名称,即(A 和 C)具有相同的 id =1。 解决你的问题我的例子? 是的,非常感谢! :)以上是关于要使用哪个 sql 查询? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章