从mysql中的两个表中获取所有字段

时间:2013-05-28 15:16:40

标签: mysql sql

我有一个以下查询获取数据,并在下面的图片中显示enter image description here

SELECT 
TICKETS.TICKETID AS TICKET_NO,
RECEIPTS.DATENEW AS TICKET_DATE,
PAYMENTS.TOTAL AS MONEY,
CUSTOMERS.NAME AS CUSTOMER,
PAYMENTS.PAYMENT AS PAYMENT
FROM RECEIPTS
LEFT JOIN TICKETS ON RECEIPTS.ID = TICKETS.ID
LEFT JOIN PAYMENTS ON RECEIPTS.ID = PAYMENTS.RECEIPT
LEFT JOIN CUSTOMERS ON TICKETS.CUSTOMER = CUSTOMERS.ID
LEFT JOIN ADJUSTMENTS ON CUSTOMERS.ID = ADJUSTMENTS.CUSTOMER_ID
ORDER BY TICKETS.TICKETID

我有另一个名为ADJUSTMENTS的表,其中包含字段

ID CUSTOMER_ID ADJUSTMENT_AMOUNT ADJUSTMENT_REASON DATE

我需要的是选择ADJUSTMENT_AMOUNT和DATE并将它们准确地放在该表中(如图所示)作为单独的条目(ROW)。我使用了UNION,但它做的是复制条目,并且无法在这些行的下方/内部显示,而是作为单独的列显示。我该怎么办?

这是我想要从两个表访问的所需表 enter image description here

1 个答案:

答案 0 :(得分:0)

我会写在这里,所以很清楚。

UNION会为您提供更多行,而JOIN会为您提供更多列。如果您只想为调整添加行。

如果要显示调整行,则必须在查询中将其列命名为您希望它们显示SELECT ADJUSTMENT_AMOUNT AS MONEY的名称。

如果您希望他们在现有行上添加列,您必须认为当您拥有1张票并进行多次调整时,您希望表如何显示。显示多个调整当然会显示票证表的相同数据。

如果这不能回答你,请画一张小桌子来展示你想要的结果。