【发布时间】:2014-08-13 15:05:55
【问题描述】:
我想知道在这种情况下哪个性能更好。首先,我想向用户展示他的医疗信息。我有两张桌子
user
-----
id_user | type_blood | number | ...
1 O 123
2 A+ 442
user_allergies
-----------
id_user | name
1 name1
1 name2
我想回来:
JSON {id_user=1, type_blood=0, allergies=(name1,name2)}
那么,最好为 user 和 user_allergies 做一个 JOIN 并迭代,或者两个 SELECT?
但是如果那时我有另一个像 user_allergies 这样的表,那么结果可能是:
user_another_table
-----------
id_user | name
1 namet1
1 namet2
1 namet3
JSON {id_user=1, type_blood=0, allergies=(name1,name2), table=(namet1,namet2,namet3)}
最好是三个 SELECT 或一个 JOIN,但是我必须对结果进行迭代,我无法想象一种简单的方式。 JOIN 可以给我这样的结果:
id_user | type_blood | allergy_name | another_table_name
1 O name1 namet1
1 O name1 namet2
1 O name1 namet3
1 O name2 namet1
1 O name2 namet2
1 O name2 namet3
有没有办法提取:
id_user | type_blood | allergy_name | another_table_name
1 O name1 namet1
1 O name2 namet2
1 O namet3
感谢社区,我是 SQL 新手
【问题讨论】:
-
我不知道该怎么说,只是根据情况说你会
JOIN。如果结果集需要来自多个相关表的信息,您可以以一种或另一种方式JOIN它们。
标签: sql performance select join