Я думаю, что у вас двусмысленность только в InvoiceID. Другие поля кажутся разными. Итак, попробуйте This
Я просто заменю InvoiceID на Invoices.InvoiceID
SELECT
VendorName, Invoices.InvoiceID, InvoiceSequence, InvoiceLineItemAmount
FROM Vendors
JOIN Invoices ON (Vendors.VendorID = Invoices.VendorID)
JOIN InvoiceLineItems ON (Invoices.InvoiceID = InvoiceLineItems.InvoiceID)
WHERE
Invoices.InvoiceID IN
(SELECT InvoiceSequence
FROM InvoiceLineItems
WHERE InvoiceSequence > 1)
ORDER BY
VendorName, Invoices.InvoiceID, InvoiceSequence, InvoiceLineItemAmount
Вы можете использовать tablename.columnnae для всех столбцов (в выборе, где, по группам и по порядку) без используя любой псевдоним. Однако вы можете использовать псевдоним, руководствуясь другими ответами
Используйте MouseAdapter ()
Абстрактный класс адаптера для получения событий мыши. Методы этого класса пусты. Этот класс существует для удобства создания объектов-слушателей. Поэтому вам нужно реализовать только тот метод, который вам нравится, например, в следующем примере:
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainClass extends JPanel {
public MainClass() {
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
System.out.println(me);
}
});
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().add(new MainClass());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setVisible(true);
}
}
Вы можете унаследовать от java.awt.event.MouseAdapter
и переопределить методы только для интересующих вас событий .
Вместо этого вы можете расширить MouseAdapter и просто переопределить события, которые вам действительно интересны.
{{1} } Можно использовать класс MouseAdapter
, который реализует интерфейс MouseListener
, поэтому нет необходимости реализовывать все методы.
Однако, переопределив интересующие методы, можно получить желаемое поведение. Например, если кто-то отменяет метод mouseClicked
, то можно определить некоторое поведение для события щелчка мыши.
Например (непроверенный код):
JLabel label = new JLabel("Hello");
label.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
System.out.println("Clicked!");
}
});
В приведенном выше коде JLabel
будет печатать « Clicked!
» на консоли при нажатии.