Frage

Zur Zeit habe ich zwei Tabellen, die beide die Tabellen haben die gleiche Struktur und werden in einer Web-Anwendung verwendet werden. die beiden Tabellen sind die Produktion und Temp. Die temporäre Tabelle enthält eine zusätzliche Spalte namens [unterzeichnet]. Ich erzeugen derzeit eine einzige Liste mit zwei Spalten, die in jeder Tabelle (recno und Namen) zu finden sind. Mit diesen beiden Feldern ich bin in der Lage zu meiner Web-Anwendung Suchfunktion zu unterstützen. Nun, was ich tun muss ist die Unterstützung, die Menge der Elemente begrenzt, die bei der Suche auf dem zweiten Tisch verwendet werden kann. der Grund dafür worden ist, sobald eine Person ein ähnlicher Datensatz „angemeldet“ ist in der Produktion Tabelle erstellt und wird seine eigene recno hat.

zu tun:

Select recno, name
  from production
UNION ALL
Select recno, name
  from temp

... zeigt mir alle. Ich habe versucht:

Select recno, name
  from production
UNION ALL
Select recno, name
  from temp
 WHERE signup <> 'Y'

Aber das gibt nichts? Kann mir jemand helfen?

War es hilfreich?

Lösung

Nicht sicher, ob ich verstehe, was Sie genau wollen. Wenn Sie Datensätze in der Produktion Tabelle zu erstellen, wenn sie nach oben aus der temporären Tabelle unterzeichnet haben, und Sie haben nur die Leute wollen, die nicht angemeldet haben ... Sie überhaupt nicht in der Produktion Tisch zu suchen. Einfach gesagt:

SELECT recno, name FROM temp WHERE signup='N'

Oder aber Sie versuchen, Ihre Suche zu begrenzen. Wenn Sie aus irgendeinem Grund eine Gewerkschaft brauchen aber Sie versuchen, Duplikate zu beseitigen müssten Sie Ihre Aussage ändern, um die ALL-Klausel zu entfernen. Union ALL bewirkt, dass Sie Duplikate erhalten. Wenn Sie nicht doppelte Werte wollen, möchten Sie nicht alle in Ihrer UNION verwenden. Sie können auf Unions lesen hier .

Andere Tipps

Für das, was Sie fragen, könnte man es auf diese Art tun.

SELECT * FROM
(
    SELECT '1' as `col`
    UNION 
    SELECT '2' as `col`
) as `someAlias`
where `someAlias`.`col` = '1'

Setzen Sie die gesamte Union in Klammern, geben Sie ihm einen Aliasnamen, dann die Bedingung geben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top