由于具有空格的数据,SELECT语句不返回任何行。使用TRIM()来修复

时间:2017-06-19 18:46:38

标签: sql sqlite

如果我使用以下查询。

SELECT a1.unit_name, a1.attack_name, att.unit_name, att.attack_name
FROM Army_1 a1, Attacks att

我收到了这些数据。

Arkanaut Company, Aethermatic Volley Gun, Arkanaut Company, Privateer Pistol

Arkanaut Company, Aethermatic Volley Gun, Arkanaut Company, Aethermatic Volley Gun

但是使用带有a1.unit_name = att.unit_name的WHERE子句。我没有排。 有什么东西显而易见吗?

编辑:

表插入

CREATE TABLE Army_1 (
    ID          INTEGER PRIMARY KEY,
    Unit_Name   VARCHAR,
    Attack_Name VARCHAR,
    Quantity    INT
);

CREATE TABLE Attacks (
    Unit_Name           REFERENCES Models (Unit_Name),
    Attack_Name VARCHAR,
    Attack_Type VARCHAR,
    Attacks     INTEGER,
    To_Hit      INTEGER,
    To_Wound    INTEGER,
    Rend        INTEGER,
    Damage      INTEGER
);

2 个答案:

答案 0 :(得分:2)

好像你可能想要加入。

试试这个:

SELECT a1.unit_name, a1.attack_name, att.unit_name, att.attack_name
FROM Army_1 a1
INNER JOIN Attacks att ON a1.unit_name = att.unit_name

答案 1 :(得分:1)

归功于xQbert,我需要在我的WHERE子句中使用TRIM()。这解决了这个问题。