MySQL选择查询,从多个表中获取数据

堵嘴

我正在尝试从中获取数据mySql DB总共有9个表,我必须从所有表中相应地显示产品列表。

我想到了使用JOIN,并尝试了LEFT JOIN,如下所示:

$query="SELECT table1.*,tbl2.*,tbl3.*,tbl4.*,tbl5.*,tbl6.*,tbl7.*",tbl8.*,tbl9.* FROM 
table1 
LEFT JOIN tbl2 ON table1.pid=tbl2.pid 
LEFT JOIN tbl3 ON table1.pid=tbl3.pid 
LEFT JOIN tbl3 ON table1.pid=tbl4.pid ... and so on upto tbl9 GROUP BY table1.pid";

Table1是主表,而pid是FK从tbl2到tbl9的所有表。

注意:在这里,我已经.*在所有表上使用以避免长时间查询,但是在实际的数据库操作中,仅提及特定列以提高性能。

现在的实际问题是,我没有使用LEFT JOIN从表中获取所有记录。只检索与中对应的每个条目的最后一行table1

  • 我使用GROUP BY来避免使用LEFT JOIN重复输入。

数据示例。

假设table1有一个ID为ID的产品,2那么在tbl2,tbl3中有多个条目,依此类推2

我如何也可以从其他表中获取所有数据而又没有重复的行。

表结构

table1

 id     |     name   |     lastName  
 ---------------------------------------
 1      |    john    |      doe
 2      |    helen   |      keller    

table2

 The userID column is a foreign key that references John Doe, so John orders 3 items.

  id     |   userID   |     order 
  ---------------------------------------
  1      |    1       |      pizza
  2      |    1       |      pasta
  3      |    1       |      lasagna    

Table3

userID列是引用John Doe的外键,因此John留下5条评论。

    id     |   userID  |     rating   |  comment
    -------------------------------------------------
    1      |    1       |      5/5     |  was good
    2      |    1       |      5/5     |  excellent
    3      |    1       |      4/5     |  great
    4      |    1       |      4/5     |  great
    5      |    1       |      4/5     |  great

表结构是从这里复制的,因为它与我的相同。

结果如下:

id name lastname order order1 order2  MoreDetails
-------------------------------------------------
1  John  doe     pizza pasta  lasgana  click to view

现在,当人们单击视图时,将显示一个弹出窗口,其中包含表3中的所有数据。

此处不需要数据透视表,因为数据表示形式有所不同。

蒙蒂

数据库: PostgreSQL

试试这个:

SELECT t1.id, t1.name, t1.lastname, (array_agg(t2.order))[1] as order, 
(array_agg(t2.order))[2] as order1, (array_agg(t2.order))[3] as order2, 
'Clicks to view' as "Moredetails"
FROM table1 as t1 
LEFT JOIN table2 as t2 ON t1.id = t2."userID" 
LEFT JOIN table3 as t3 ON t1.id = t3."userID" 
WHERE t1.id = 1 
GROUP BY 1,2,3

输出 :

id name lastname order order1 order2  MoreDetails
-------------------------------------------------
1  John  doe     pizza pasta  lasgana  click to view

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查询从多个表中获取数据MySQL

来自分类Dev

在单个查询中从多个表获取数据-mysql

来自分类Dev

SQLite查询以从多个表中获取数据

来自分类Dev

如何在codeigniter中查询(获取)mysql数据库的多个表作为单个表

来自分类Dev

在一个 mysql 查询中从多个表中选择数据并加入 group by

来自分类Dev

MySQL查询从多个表中选择数据进行比较

来自分类Dev

在PHP / MySql中通过单个查询从多个表中获取“相关”数据?

来自分类Dev

选择下拉列表后如何使用从mysql表中获取的数据填充多个文本框

来自分类Dev

选择下拉列表后如何使用从mysql表中获取的数据填充多个文本框

来自分类Dev

如何从mysql和php中的多个表中选择查询

来自分类Dev

MySQL查询多个表数据

来自分类Dev

选择查询以从SQL表中获取所需的数据

来自分类Dev

SQL查询,用于从多个表中获取数据

来自分类Dev

Django ORM查询从多个表中获取数据

来自分类Dev

优化查询以从多个表中选择数据

来自分类Dev

php mysql 从 json 中的多个表中获取数据

来自分类Dev

查询以从多个表中选择MySQL

来自分类Dev

MYSQL查询以从表中获取每月消费数据

来自分类Dev

MySQL查询-帮助从2个表中获取数据

来自分类Dev

从mysql数据库多个表中获取最新记录

来自分类Dev

从mysql数据库多个表中获取最新记录

来自分类Dev

MySQL Join查询从多个表中的产品中获取购物车表中的项目总和

来自分类Dev

MySQL选择查询从基于行获取数据

来自分类Dev

SQL查询从多个表中获取数据并显示在html表中

来自分类Dev

MySql从同一张表和其他表中合并了多个查询的选择结果

来自分类Dev

MySQL:从多个表中选择数据

来自分类Dev

MySQL查询从多个表中选择,显示所有来自表1 +一些数据来自表2

来自分类Dev

查询从多个表中获取值

来自分类Dev

从涉及多个表的查询中获取 CSV

Related 相关文章

  1. 1

    查询从多个表中获取数据MySQL

  2. 2

    在单个查询中从多个表获取数据-mysql

  3. 3

    SQLite查询以从多个表中获取数据

  4. 4

    如何在codeigniter中查询(获取)mysql数据库的多个表作为单个表

  5. 5

    在一个 mysql 查询中从多个表中选择数据并加入 group by

  6. 6

    MySQL查询从多个表中选择数据进行比较

  7. 7

    在PHP / MySql中通过单个查询从多个表中获取“相关”数据?

  8. 8

    选择下拉列表后如何使用从mysql表中获取的数据填充多个文本框

  9. 9

    选择下拉列表后如何使用从mysql表中获取的数据填充多个文本框

  10. 10

    如何从mysql和php中的多个表中选择查询

  11. 11

    MySQL查询多个表数据

  12. 12

    选择查询以从SQL表中获取所需的数据

  13. 13

    SQL查询,用于从多个表中获取数据

  14. 14

    Django ORM查询从多个表中获取数据

  15. 15

    优化查询以从多个表中选择数据

  16. 16

    php mysql 从 json 中的多个表中获取数据

  17. 17

    查询以从多个表中选择MySQL

  18. 18

    MYSQL查询以从表中获取每月消费数据

  19. 19

    MySQL查询-帮助从2个表中获取数据

  20. 20

    从mysql数据库多个表中获取最新记录

  21. 21

    从mysql数据库多个表中获取最新记录

  22. 22

    MySQL Join查询从多个表中的产品中获取购物车表中的项目总和

  23. 23

    MySQL选择查询从基于行获取数据

  24. 24

    SQL查询从多个表中获取数据并显示在html表中

  25. 25

    MySql从同一张表和其他表中合并了多个查询的选择结果

  26. 26

    MySQL:从多个表中选择数据

  27. 27

    MySQL查询从多个表中选择,显示所有来自表1 +一些数据来自表2

  28. 28

    查询从多个表中获取值

  29. 29

    从涉及多个表的查询中获取 CSV

热门标签

归档