2009-06-15 6 views
0

Привет всем я пишу простой запрос Mysql, чтобы вытащить некоторые CSV но где положение не похоже на работу какие-либо идеи было бы большим помочьMysql Query

select SUBSTRING_INDEX(email,'@',1)AS email , clear , SUBSTRING(email,LOCATE('@',email)+1) as domain where domain like 'somestring' from sometable; 

ответ

1
SELECT 
    SUBSTRING_INDEX(email,'@',1) AS email, 
    clear, 
    SUBSTRING(email,LOCATE('@',email)+1) AS domain 
FROM sometable 
WHERE domain LIKE '%somestring%'; 
+0

Спасибо за быструю кодификацию Олафура, я случайно отправил сообщение, прежде чем делать это сам :) теперь все лучше! –

+0

Не работает mysql жалоба ОШИБКА 1054 (42S22): Неизвестный столбец 'domain' in 'where clause' – 2009-06-15 22:00:57

1

код Джона должно быть правильным. Мое единственное дополнение - всегда рассмотрите синтаксис SQL, когда ваш SQL не работает.

Вы улучшите свою способность писать сложный SQL, если будете тщательно логически, хотя тогда просто написать что-то, а затем опубликовать его здесь. Я не говорю, что вы это сделали, но ваш SQL выглядит путаным ... Похоже, вы не подтвердили свой синтаксис ...

Что касается вашего комментария к Джону, что домен недействителен: Правильно ли указано имя домена? Если нет, то каково правильное имя поля и вы можете его вставить. Я думаю, что код должен быть:

SELECT 
    SUBSTRING_INDEX(email,'@',1) AS email, 
    clear, 
    SUBSTRING(email,LOCATE('@',email)+1) AS domain 
FROM sometable 
WHERE email LIKE '%@somestring%'; 

Или

SELECT 
    SUBSTRING_INDEX(email,'@',1) AS email, 
    clear, 
    SUBSTRING(email,LOCATE('@',email)+1) AS domain 
FROM sometable 
WHERE SUBSTRING(email,LOCATE('@',email)+1) LIKE '%somestring%'; 

С уважением,
Frank

0

Это правильный запрос. Я предполагаю, что это одно из полей этой таблицы.

SELECT substring_index(email, '@', 1) as email,clear, substring(email, locate('@',email)+1) as domain from table where substring(email, locate('@',email)+1) like '%somestring%'. 
0

выберите SUBSTRING_INDEX (электронная почта, '@', 1), как электронная почта, ясно, SUBSTRING (электронная почта, LOCATE ('@', электронная почта) +1), как домен из sometable где домен как «% SomeString % '

Как оператор должен использовать символ "%".