SELECT
tableone.names,
tableone.numbers + tabletwo.numbers AS numbers_sum
FROM tableone
LEFT JOIN tabletwo USING (names)
WHERE (tableone.numbers > 0)
AND (tabletwo.numbers > 0)
ORDER BY 2 DESC
更新,测试SQL:
USE test;
CREATE TABLE IF NOT EXISTS tableone (
names TINYTEXT NOT NULL,
numbers INT NOT NULL,
PRIMARY KEY (names(100))
);
CREATE TABLE IF NOT EXISTS tabletwo (
names TINYTEXT NOT NULL,
numbers INT NOT NULL,
PRIMARY KEY (names(100))
);
INSERT INTO tableone SELECT 'a', RAND();
INSERT INTO tableone SELECT 'b', RAND();
INSERT INTO tableone SELECT 'c', RAND();
INSERT INTO tableone SELECT 'd', RAND();
INSERT INTO tabletwo SELECT names, RAND() FROM tableone;
SELECT
tableone.names,
tableone.numbers + tabletwo.numbers AS numbers_sum
FROM tableone
LEFT JOIN tabletwo USING (names)
WHERE (tableone.numbers > 0)
AND (tabletwo.numbers > 0)
ORDER BY 2 DESC;
输出:
+-------+-------------+
| names | numbers_sum |
+-------+-------------+
| b | 2 |
| d | 2 |
+-------+-------------+
当我尝试,它说我在FROM子句中有语法错误? – jdreamer30
我测试了我写的sql,它工作正常,可以在我的服务器上使用拼写错误的表名吗? –
它不断突出显示(名称),并说在from子句中有一个错误..但名称在表格中是正确的..我完全不理解它 – jdreamer30