2013-12-19 1 views
0

Допустим, у меня есть 5 строк, содержащий следующее:MySQL возврата устанавливается, если значения не существует

ID  KEY  VALUE 
1  address 123 Main Street 
1  latlng (111.139, 111.238) 
2  address 45 South Street 
3  address 67 North Ave 
3  latlng (448.002, 100.301110) 

Теперь, если я хотел вернуться только строку, которая не содержала соответствующую LatLng строку сопровождать адрес (т. е. ID 2), как я могу это сделать с помощью инструкции mySQL?

Этот человек имеет меня в тупике !!

+2

Я предлагаю вам сделать попытку, то покажите нам, что вы пробовали и то, что пошло не так. – showdev

ответ

1
SELECT * 
FROM TABLE 
WHERE ID NOT IN 
(SELECT ID FROM TABLE WHERE KEY = 'LATLNG') 
+0

Вот запрос я побежал, основанный на ваш ответ: SELECT * FROM ' datta' WHERE' key' = 'адрес' И 'id' NOT IN (SELECT ' id' FROM 'datta' WHERE ключа' '= 'latlng') И я думаю, что это будет сделано! Благодаря! – f8xmulder

1

Try что-то вроде

SELECT t1.* 
FROM Table t1 
    LEFT OUTER JOIN Table t2 ON t1.id = t2.id 
WHERE t1.Key = 'latlng' AND t2.Key = 'address' AND t2.id IS NULL 
+0

Я не мог заставить это работать вообще. – f8xmulder