webForumDet fria alternativet

Jämföra ett identisk fält i två tabeller?

Databaser & SQL

3 svar · 302 visningar · startad av Ken

Medlem sedan mars 2004252 inlägg
Frågan#1

En annan fråga, kan man jämföra två tabeller som båda har ett liknande fält, name1, att den visas dom namnen som saknas i den ena tabellen.

Jag har två tabeller, vilken den ena innehåller 20 namn mera, dom andra namnen är annars identiska i båda tabellerna.

Medlem sedan dec. 200012 464 inlägg
#2
select name 
  from t1 
where not exists(
select *
from t2
where t1.name = t2.name)
Medlem sedan mars 2004252 inlägg
#3

Jag får följande felmeddelande med MySQL-satsen nedanför med hjälp av lösningen från det föregående inlägget.

t1 = telefon
t2 = nytelefon

select * from telefon where telefon.name1 = nytelefon.
mysql> select name1 from nytelefon where not exists(
select * from telefon where nytelefon.name1 = "telefon.name1"
);

ERROR 1064: You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'exists(
select * from telefon where nytelefon.name1 = "telefon
mysql>
Medlem sedan dec. 200012 464 inlägg
#4

Felet beror på att du använder en gammal version av Mysql.

select telefon.*
from telefon 
left join nytelefon on nytelefon.name1 = telefon.name1
where nytelefon.name1 is null
where nytelefon.name1 = "telefon.name1"

varför har du lagt till citationstecken?

389 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
130 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)