2012-01-24 2 views
-2

У меня есть две таблицы. У одного есть информация о заказе с идентификатором заказа, а в другой таблице представлена ​​подробная информация о заказе. order_details имеет несколько строк для каждого order_id. Мне нужен один запрос, который вытащил бы информацию о заказе, а затем добавит «столбец» для каждой записи в таблице order_details.MySQL два ряда в столбцы

Возможно ли это? И если да, то как?

+0

Confused, как почему это все в двух таблицах. Разве не слова «информация» и «подробности» синонимы? Можете ли вы их комбинировать? Также путают о том, что вы подразумеваете, добавив столбец для каждой записи? В HTML? что такое настройка таблицы подробностей? – bowlerae

+0

Возможно ли это? Почти наверняка, да. Как? Вы говорите нам - мы не можем дать вам запрос, не зная столбцов в вашей базе данных и точно, что вы хотите вернуть. Задайте более точный вопрос, и я уверен, что люди будут рады помочь вам. – Hecksa

+0

Я делал то, что @gahooa предложил ниже. Если кто-то знает лучший способ, я был бы очень обязан. – nathangiesbrecht

ответ

1

Это невозможно в MySQL или в любом SQL, о котором я знаю, с исключением исключения очень жесткого запроса с чрезмерными объединениями или подзапросами.

Этот тип проблемы обычно отводится в область языков программирования. Если у вас есть одноранговой нужно для запроса, чтобы сделать это, то что-то, как это будет делать это (вам придется цитировать ключевое слово order)

SQL пример:

SELECT 
    order_id, 
    date, 
    (select amt from order_detail where order_id=order.order_id and detail_line=1), 
    (select amt from order_detail where order_id=order.order_id and detail_line=2), 
    (select amt from order_detail where order_id=order.order_id and detail_line=3), 
    (select amt from order_detail where order_id=order.order_id and detail_line=4), 
FROM 
    order 
WHERE 
    order_id = 1234 
+0

Это то, что я делал, но я надеялся, что что-то немного «красивее». Но если это невозможно, я полагаю, это невозможно. Благодаря! – nathangiesbrecht