2014-10-10 2 views
0

У меня есть две таблицы с датой два форматаSQL Server в присоединиться к

таблица 1:

id   time     ref 
5   1397635972    A 
10   1397635975    B 
50   1397635976    C 

Таблица 2:

id   time     ref 
10   2013/10/05    D 
51   2014/01/02    E 

как соединить две таблицы на table1.id = table2 .id и table1.time = table2.time

Это моя попытка:

$sql=' select table1.id, table1.time, table1.ref, table2.id, table2.time, table2.ref 

from table1 INNER JOIN table2 

ON (table1.id = table2.id AND DATE_FORMAT(table1.time,'%y/%m/%d') = table2.time)'; 
+0

Каковы типы столбцов в ваших таблицах? И какая ошибка вы получаете? – Ruslan

+0

Нет данных, которые не отображаются – good

ответ

0

Попробуйте это:

select table1.id, table1.time, table1.ref, table2.id, table2.time, table2.ref 

from table1 INNER JOIN table2 

ON (table1.id = table2.id AND FROM_UNIXTIME(table1.time) = table2.time) 

Вы уверены, что идентификатор должен быть частью соединения, а? Этот вид присоединиться к такого рода структуры не вносил бы почти никакого смысла с точки зрения проектирования баз данных ...

+0

Мне нужно форматировать затем: 2013/10/05 – good

+0

Итак, измените SELECT на 'select table1.id, DATE_FORMAT (table1.time, '% y /% m /% d'), table1.ref, table2.id, DATE_FORMAT (table2.time, '% y /% m /% d'), table2.ref' – Ruslan

+0

@good .... ping – Ruslan

0

Нет данных не показаны

Для примера FROM_UNIXTIME table2.time:

SELECT FROM_UNIXTIME(1196440219) : '2007-11-30 10:30:19' 

Мне нужно форматировать, а затем стать: 2013/10/05

Смежные вопросы