Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Приставка Одинаковым столбцам в запросе sql
maruo  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 27 дней
Карма: 1




+--------+---------------+-----------+------------+-----+--------------+---------------+-----------+- ----------+---------+---------------+
| lot_id | name_item | rare_item | price_item | img | price_ticket | count_tickets | sort_item | ticket_id | user_id | ticket_number |
+--------+---------------+-----------+------------+-----+--------------+---------------+-----------+ -----------+---------+---------------+


нужно что бы было 2 столбца ticket_number , Но они заменяются друг друга через Union т.к названия одинаковые у столбцов
нужно после юниона( во 2м запросе подменить ticket_number) на другое имя что бы получилось так
+--------+---------------+-----------+------------+-----+--------------+---------------+-----------+ -----------+---------+---------------+---------------+
| lot_id | name_item | rare_item | price_item | img | price_ticket | count_tickets | sort_item | ticket_id | user_id | ticket_number | ticket_mumber2
+--------+---------------+-----------+------------+-----+--------------+---------------+-----------+ -----------+---------+---------------+---------------+

Первый запрос должен вернуть все поля ticket, а второй только где юзер ид равен 32

(SELECT l.lot_id,l.name_item,l.rare_item,l.price_item,l.img,l.price_ticket,
l.count_tickets,l.sort_item,s.ticket_id,s.user_id,
s.ticket_number FROM lottery l
LEFT JOIN start_lot s USING(lot_id)
WHERE lot_id=$lot_id)
UNION
(SELECT l.lot_id,l.name_item,l.rare_item,l.price_item,l.img,l.price_ticket,
l.count_tickets,l.sort_item,s.ticket_id,s.user_id,
s.ticket_number FROM lottery l
RIGHT JOIN start_lot s USING(lot_id)
WHERE lot_id=$lot_id AND user_id='$user')


Это сообщение отредактировал maruo - 19.02.2016 - 01:22
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3378
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 14 дней
Карма: 170




s.ticket_number as ticket_number2


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 27 дней
Карма: 1




AllesKlar
Пробовал вернуло тоже самое
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 27 дней
Карма: 1





+---------+---------------+
| user_id | ticket_number |
+---------+---------------+
| 42 | 2 |
| 32 | 102 |
| 32 | 101 |
| 32 | 100 |
| 32 | 4 |
| 32 | 6 |
+---------+---------------+

Это возвращает сейчас а нужно что бы вернуло первый вариант и еще
где юзер id = 32


+---------+---------------+
| user_id | ticket_number2 |
+---------+---------------+
| 32 | 102 |
| 32 | 101 |
| 32 | 100 |
| 32 | 4 |
| 32 | 6 |
+---------+---------------+

PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 27 дней
Карма: 1




Скажите как решить эту проблему)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3378
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 14 дней
Карма: 170




Нельзя в разных строках получить разные наборы столбцов.
Можно сделать, чтобы для первой части ticket_number2 было пустым, а для второй части ticket_number1 было пустым.


(SELECT l.lot_id,l.name_item,l.rare_item,l.price_item,l.img,l.price_ticket,
l.count_tickets,l.sort_item,s.ticket_id,s.user_id,
s.ticket_number as ticket_number1, '' as ticket_number2 FROM lottery l
LEFT JOIN start_lot s USING(lot_id)
WHERE lot_id=$lot_id)
UNION
(SELECT l.lot_id,l.name_item,l.rare_item,l.price_item,l.img,l.price_ticket,
l.count_tickets,l.sort_item,s.ticket_id,s.user_id,
'' as ticket_number1, s.ticket_number as ticket_number2 FROM lottery l
RIGHT JOIN start_lot s USING(lot_id)
WHERE lot_id=$lot_id AND user_id='$user')


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 27 дней
Карма: 1




Нормально я провозился 5 часов с этим запросом.
Придется что ле 2 запроса делать в моей ситуации? никак вообще нельзя? сделать так?
мне надо 2м запросом всего то вытащить поля билетов только для 1го пользователя
$query2 = mysqli_query($link,"(SELECT ticket_number FROM start_lot WHERE lot_id=2 AND user_id=32")or die(mysqli_error($link));
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1357
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 12 дней
Карма: 77




maruo
сделай пустые строки в первом запросе, как говорили.
а во втором добавь нужные данные.

А вытаскивать данные юзверя из последней строки перебора. Ну или сделай первым запросом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 27 дней
Карма: 1




Хм очень интересная реализация, Наверно мне нужно что то со структурой БД по шаманить
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса