-1
我遇到了與多個不同表對應的SQL查詢問題。我已經寫了下面的代碼,但它似乎將每個預訂與每張發票結合起來,而不是找到與特定預訂匹配的特定發票。任何幫助將不勝感激。複雜SQL代碼
$sql = "SELECT INVOICE.invoice_id,
g.guest_first_name,
g.guest_last_name,
g.booking_num_guests,
g.booking_num_nights,
CURRENCY.currency_name,
INVOICE.invoice_nightly_rate,
INVOICE.invoice_deposit_amount,
INVOICE.invoice_paid,
ACCOUNT.account_name
FROM INVOICE
INNER JOIN BOOKING
ON INVOICE.invoice_booking_id = BOOKING.booking_id
INNER JOIN CURRENCY
ON INVOICE.invoice_currency_id = CURRENCY.currency_id
INNER JOIN ACCOUNT
ON INVOICE.invoice_account_id = ACCOUNT.account_id
INNER JOIN (
SELECT GUEST.guest_first_name,
GUEST.guest_last_name,
BOOKING.booking_num_guests,
BOOKING.booking_num_nights
FROM BOOKING
INNER JOIN GUEST
ON BOOKING.booking_guest_id = GUEST.guest_id) g
ON INVOICE.invoice_booking_id = BOOKING.booking_id";
什麼是最後的內部連接?您已經在第一個內部聯接中加入了「INVOICE」和「BOOKING」。 – ekad 2014-10-03 17:22:37
預訂表包含客人ID,我想我需要最後一個內部連接來獲取客人詳細信息。 – chrisalex2 2014-10-03 17:26:11
爲什麼不用'SELECT GUEST.guest_first_name,GUEST.guest_last_name,BOOKING.booking_num_guests,BOOKING.booking_num_nights FROM BOOKING'來使用'ON BOOKING.booking_guest_id = GUEST.guest_id'來加入'GUEST'和'BOOKING'? – ekad 2014-10-03 17:29:48