Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Объединить строки с одинаковым ID
 
 автор: Sturmvogel   (22.01.2012 в 00:32)   письмо автору
 
 

Есть такой запрос:
SELECT txt.line_id, txt.lang, txt.text FROM text AS txt INNER JOIN timing AS t ON (txt.line_id=t.line_id) INNER JOIN parts AS p ON (t.show>=p.start AND t.hide<=p.end AND p.id='.$_GET['p'].')


при этом есть таблица переводов txt, т.е. в таблице timing хранятся глобальные значения фраз (независимо от языка), а в text лежат переводы этих фраз с ключом по ID.

т.е. будет примерно такая таблица:
1 | en | Hello
2 | en | He
1 | ru | Привет

как мне слить в запросе 1 и 3 строки из примера, т.е. чтобы запрос выдал мне и Hello, и Привет в одной строке? GROUP BY?

  Ответить  
 
 автор: Slo_Nik   (22.01.2012 в 00:36)   письмо автору
 
   для: Sturmvogel   (22.01.2012 в 00:32)
 

WHERE должно помочь

  Ответить  
 
 автор: Sturmvogel   (22.01.2012 в 00:51)   письмо автору
 
   для: Slo_Nik   (22.01.2012 в 00:36)
 

смысл в том, что мне нужны все строки. т.е. которые с переводом (одинаковый ID, разные языки) и без перевода (пока только один язык в которых есть на ID)...

  Ответить  
 
 автор: Slo_Nik   (22.01.2012 в 03:27)   письмо автору
 
   для: Sturmvogel   (22.01.2012 в 00:51)
 

WHERE `id` = 'ваше_значение'

  Ответить  
 
 автор: Sturmvogel   (22.01.2012 в 12:53)   письмо автору
 
   для: Slo_Nik   (22.01.2012 в 03:27)
 

Может, я что-то не понимаю, но еще раз говорю, мне нужно вернуть примерно такие множества:

id = 1, text[1] = "Hello", text[2] = "Привет";
id = 2, text[1] = "Something", text[2] = ""; 

то есть объединить записи одной таблицы, при этом выдать результат не только для тех, у кого есть оба элемента текста (Hello, Привет), но и с пустым вторым элементом (Something).

PS:
SELECT txt.line_id, txt.lang, txt.text, ru.text FROM text txt, text ru WHERE txt.id=ru.id

такой запрос не хочет обрабатываться

Что-то похожее дает
SELECT txt.line_id, txt.text AS original, ru.text AS transln FROM text AS txt LEFT JOIN text AS ru ON (txt.line_id=ru.line_id) WHERE txt.line_id <= 15 AND txt.lang='en'

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования