MySQL 3 таблицы перекрывающихся запросов - PullRequest
0 голосов
/ 04 декабря 2009

еще 3 запроса таблицы здесь. У меня есть бронирование столиков, customer_service и выставление счетов.

Я пытаюсь выбрать тип номера из бронирования и некоторые другие поля из выставления счета "ON" r.ID = b.rID и то же самое для customer_services (показано ниже).

Первая часть перед объединением работает нормально, но при добавлении объединения я получаю странный побочный эффект, что любой результат с дублированием r.Roomtype, b.Quantity, b.UnitPrice и b.Total будет сброшен.

Как мне этого избежать, так как они будут иметь разные b.reservationID и я хочу дубликаты?

SELECT r.RoomType, b.Quantity, b.UnitPrice, b.Total FROM Billing b, Reservation r
WHERE b.ReservationID = r.ReservationID
      AND b.UserName = "Stuart"
      AND b.Paid = "0"

UNION

SELECT cs.ServiceName, b.Quantity, b.UnitPrice, b.Total FROM Customer_Service cs, Billing b
WHERE b.CustomerServiceID = cs.CustomerServiceID
      AND b.UserName = "Stuart"
      AND b.Paid = "0";

1 Ответ

1 голос
/ 04 декабря 2009

Используйте UNION ALL вместо UNION

См. Синтаксис UNION

...