我在MySQL数据库中有两个表。
用户表和用户元表
我正在寻找一种方法,通过一个查询从两个表中获取所有信息。但不重复来自Users表的信息。
这也是与用户ID号相关的所有信息。例如,user_id = 1。
有没有办法查询数据库并从两个表中收集我的所有信息而不重复第一个信息?
结构示例
用户表
用户元表
我想摆脱这个
user_id, user_login, user_pass, user_meta_id, user_id, user_meta_key, user_meta_value
user_meta_id, user_id, user_meta_key, user_meta_value
user_meta_id, user_id, user_meta_key, user_meta_value
答案 0 :(得分:1)
当然,这很简单,只需使用连接指定查询中每个表所需的字段,并且不包括重复的列。
SELECT Users.field1, Users.field2, Users.field3, Users.user_ID,
UsersMeta.field4, UsersMeta.field5
FROM USERS
LEFT JOIN UsersMeta ON (Usuers.user_ID=UsersMeta.User_ID)
答案 1 :(得分:1)
SELECT DISTINCT table1.id, table1.field2, table1.field3, tab_id.id_table1
FROM table1
LEFT JOIN tab_id ON (table1.id=tab_id.id_table1)
答案 2 :(得分:0)
您没有提到您正在使用的数据库服务器。
假设您的表格如下:
USERS (user_id, first_name, last_name, gender)
USER_META (user_id, comment_count, likes)
你的查询在MySQL中会是这样的:
SELECT u.user_id, first_name, last_name, gender, comment_count, likes
FROM USERS u LEFT JOIN USER_META m ON(u.user_id = m.user_id);
答案 3 :(得分:0)
是的,可以在查询中使用DISTINCT
关键字
SELECT DISTINCT Users.field1, DISTINCT users.field2, UsersMeta.field3
FROM USERS, UsersMeta
WHERE Users.user_ID=UsersMeta.User_ID
答案 4 :(得分:0)
这是前端工具/语言的工作,例如: Crystal Report,PHP,C#等。请勿在查询中执行此操作