【发布时间】:2020-05-17 06:13:30
【问题描述】:
我有两张桌子需要加入它们
我使用这个 sql 查询创建的第一个表
CREATE TABLE `users` (
`id` bigint PRIMARY KEY AUTO_INCREMENT,
`user_login` varchar(60),
`user_pass` varchar(255),
`first_name` varchar(30),
`last_name` varchar(30),
`user_status` int(2),
`user_phone_number` varchar(20),
`user_email` varchar(100),
`user_billing_info` text,
`user_temp_units` int(2),
`user_flow_units` int(2),
`user_notes` text
);
第二张桌子
CREATE TABLE `station_meta` (
`uid` VARCHAR(25) PRIMARY KEY,
`nickname` varchar(30),
`install_date` date,
`latatude` numeric(10,6),
`longitude` numeric(10,6),
`firmware_ver` varchar(10),
`weir_type` int(2),
`weir_width` numeric,
`dist_to_ground` numeric,
`dist_to_weir` numeric,
`service_fee` numeric,
`notes` text
);
当我使用这个 sql 查询时,我得到了双行
SELECT * FROM station_meta JOIN users
注意:如果需要提及,uid 类似于 9C9Z454Z5CA
所以在另一个表中没有任何列是相同的
更新
数据样本
我的结果
我在 foreach 的 php 函数中使用它,所以我得到了双重结果
感谢任何帮助
【问题讨论】:
-
更新您的问题,添加适当的数据样本、您的实际结果、您的预期结果并解释 2 个表是如何连接的(2 个表中的哪些列用于连接)
-
@scaisEdge 好的,现在就这样做
-
@scaisEdge 请检查,我更新了问题,我使用我提到的简单查询加入了他们,table1 JOIN table2 我没有使用任何列进行连接,我尝试使用 table1 作为 z JOIN table2 as x in z.id=x.uid 但这没有意义,因为 uid 与 id 不同
-
看你的结果..你没有重复的行(在第一行中 uid 和 nicname 是重复的,但不是昵称)。你在两个表之间只有一个笛卡尔积(事实上你没有加入元素并减少结果)..所以你应该添加你的预期结果
-
对不起@scaisEdge 我真的很困惑,您对此有何建议或解决方案?是什么导致双排?