我正在运行此查询
select * from user_meta JOIN user ON user_meta.userid=user.userid where user_meta.userid=9
但这不是我想要的结果,它返回多行。
我的一张桌子看起来像这个名字user_meta
:
umeta_id userid meta_key meta_value
1 9 mobile 123324
2 9 address some address
3 9 city some city
4 9 country some country
5 9 occupation some details
6 9 website someurl
7 9 mobile 123324
8 9 address some address
9 9 city some city
10 10 country some country
11 10 occupation some details
12 10 website someurl
另一个表看起来像这个名字user
:
userid username fullname email role
9 someuser john Doe 123324@gmail.com admin
我如何使其选择查询,以便userid 9
可以从两个表中获取与之相关的所有值,并使它看起来像这样
所需的输出:
userid username fullname email role Mobile address city country occupation website
9 someuser john Doe 123324@gmail.com admin 123123 someaddres Somecity somecountry some details someurl
谢谢!(提前!)
为您提供所需的输出(但这并不灵活,因此,如果添加要输出的更多详细信息,将无法进行更改而不进行更改):-
SELECT user.userid,
user.username,
user.fullname,
user.email,
user.role,
mobile_meta.meta_value AS `Mobile`,
address_metameta_value AS `Address`,
city_metameta_value AS `City`,
country_metameta_value AS `Country`,
occupation_metameta_value AS `Occupation`,
website_metameta_value AS `Website`
FROM user
LEFT OUTER JOIN user_meta AS mobile_meta ON mobile_meta.userid=user.userid AND mobile_meta.meta_key = 'mobile'
LEFT OUTER JOIN user_meta AS address_meta ON address_meta.userid=user.userid AND address_meta.meta_key = 'address'
LEFT OUTER JOIN user_meta AS city_meta ON city_meta.userid=user.userid AND city_meta.meta_key = 'city'
LEFT OUTER JOIN user_meta AS country_meta ON country_meta.userid=user.userid AND country_meta.meta_key = 'country'
LEFT OUTER JOIN user_meta AS occupation_meta ON occupation_meta.userid=user.userid AND occupation_meta.meta_key = 'occupation'
LEFT OUTER JOIN user_meta AS website_meta ON website_meta.userid=user.userid AND website_meta.meta_key = 'website'
WHERE user.userid=9
我有这张桌子 我想根据和来计算反应的数量。我试过这个查询。 谁能告诉我如何正确地做到这一点?
问题内容: 我有两个用于查询表中行的SQL查询,具体取决于类型2或3。 查询1: 查询2: 现在,我只想获取和使用一个查询的值。如何使用一个查询获得计数。有没有办法做到这一点。我正在使用SQLite数据库。 编辑: 我想要分别为和的值,而不是两者都在一起(不使用)。 问题答案: 尝试使用 对于两个变量:
问题内容: 我有两个表: 我想从表1中选择所有具有值A和B的表2行的行。这将是行1和3(不是2行,因为它只有A,没有4行是因为只有B)。我可以在没有子查询的情况下执行此操作吗? (注意:我还需要查询表1中的值,因此我不能只查询表2。) 问题答案: 塔达阿!没有子查询。
问题内容: 我所有的下午都花在尝试处理一个查询(或两个或三个)上,以获取三个表的所有子表的计数。看一下我的设计: 用户表 胜表 画表 输桌子 我试图得到这样的东西: 这是我的尝试: 问题答案: 这只是完成任务所需的工作量。
问题内容: 我想在数据库中选择不同的值。让我来看一个简单的例子。 表: 是的,假设我的SQL是。这些是我的结果: 但是,问题在于/ 重复的顺序不同。我不想选择这些,我希望这两列中都有不同的值,请帮忙! 问题答案: 非常邪恶和邪恶:
我试图从获取数据。总共有9个表格,我必须相应地从所有表格中显示产品列表。 我考虑过使用连接,并尝试了左连接,如下所示: 这里是主表,pid是从tbl2到tbl9的所有表的。 注意:这里我在所有表上使用了来避免长查询,但是在实际的数据库操作中,只提到特定的列来提高性能。 现在实际的问题是,我没有得到所有的记录从表使用左加入。只检索中对应的每个条目的最后一行。 我使用了GROUP BY来避免重复的左连